home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
remote
/
fd199c.zip
/
FRODO.DOC
< prev
next >
Wrap
Text File
|
1990-03-06
|
292KB
|
8,466 lines
FrontDoor 1.99c
Noncommercial version
A FidoNet compatible e-mail system.
For noncommercial use and distribution.
USER GUIDE
The FrontDoor package is protected by both United States
copyright law and international treaty provisions.
FrontDoor is provided as is, without warranty of any kind, either
expressed or implied. Joaquim H. Homrighausen only guarantees
that FrontDoor will occupy disk space.
In no event shall Joaquim H. Homrighausen be liable to you or
anyone else for any damages, including any lost profits, lost
savings or other incidental or consequential damages arising out
of the use or inability to use this program.
All Joaquim H. Homrighausen products are trademarks or registered
trademarks of Joaquim H. Homrighausen. Other brand and product
names are trademarks or registered trademarks of their respective
holders.
This version of FrontDoor is referred to as the noncommercial
version. It is not a crippled version nor does it quit working
after a period of time. See the Appendix section for ordering and
pricing information.
---------------------------------------------------------------
The noncommercial version is yours to keep. It is not public
domain, shareware or freeware, it is simply free of charge. You
can use it as long as you do not use it within a commercial
environment. It doesn't matter if you are making money by using
it or not, if you are using it within commercial walls, you may
not use the noncommercial version.
---------------------------------------------------------------
Copyright 1989, 1990 Joaquim H. Homrighausen.
All rights reserved.
Written by Joaquim H. Homrighausen and Peter Stewart
Documentation written by Joaquim H. Homrighausen
- 2 -
Chapter 1
Preface
Welcome to FrontDoor, the complete e-mail package from Joaquim H.
Homrighausen. It's probably safe to say that an e-mail package,
like FrontDoor, is one of the most complex type of applications
around. This manual is very straight forward and may seem hard to
understand at first glance. If you get lost, or can't understand
something, go back and read the section you're having problems
with, carefully.
1.1 Hardware requirements
FrontDoor has been tested on more than five hundred systems for
over three years. It will run under MS or PC DOS versions 3.00
and above. It runs under most LAN software; including Novell and
Lantastic. It also runs under PC-MOS/386, VM/386 and other
multitasking environments such as DESQview.
Although it will run on most machines, there are a few
restrictions and requirements.
o An IBM PC, AT or 100% BIOS compatible
o A hard disk with at least one megabyte available
o An asynchronous modem capable of sending alphanumeric
messages such as CONNECT 2400, etc.
o A monochrome or color monitor
o 256 KB of system memory
1.2 Software requirements
o MS or PC-DOS 3.00 or above
o A FOSSIL driver such as X00 or BNU
- 3 -
1.3 BBS software
FrontDoor can be used as a front-end to many popular bulletin
boards such as TPBoard, TCL, Allan's Kakburk, QuickBBS, Phoenix
RCS, RemoteAccess, Fido, Opus-CBCS, and Maximus-CBCS.
1.4 History
FrontDoor began as most programs do, simple and small. Back in
1986, Fido, by Tom Jennings was the major bulletin board system,
used by over a thousand people all over the world. It was the
only good BBS software around at the time. It had one major
drawback, however. Users had to whack and bang their keyboards to
death before they would be let in to the BBS. Fido needed to
detect the baudrate and it took a long time.
So, I, Joaquim Homrighausen thought I had a good idea (I didn't
realize what I was getting into), a front-end that answered the
phone, read the result codes from the modem, and passed the speed
to Fido. I'd seen Peter Stewart's name appear in several small
programs floating around Sweden and I didn't have the time to do
all the coding myself, because I was working at Ericsson Data
Services at the time. I decided to give him a call.
A few weeks later, catastrophe was unavoidable; the first version
of FrontDoor was released. Mats Knuts, my network host at the
time, started to use the simple (and small, 15 KB) program and
came up with several ideas and bug reports. We fixed them and
released another version. The word got around and soon the first
caller from the US logged on to my board and downloaded
FrontDoor.
- 4 -
(History cont'd)
Between August 1986 and June 1987 we did nothing but add
functions and correct bugs. Things were looking great, and in
July of 1987, the nightmare began. Someone asked (very gently) if
we could add support in FrontDoor to receive mail. Sure thing,
another release and FrontDoor supported incoming mail. The
problem was that it couldn't send any mail. A few more releases
and it could send and receive mail using SEAlink, Xmodem or
Telink.
At this time, FrontDoor was in closed beta testing, but a few
weeks later, someone asked us a question about FrontDoor, and he
wasn't even in the beta group. He had downloaded the program from
the "Opus Archive" system. So instead of doing something stupid
(yeah, right), we decided to go to public beta testing.
The rest.. FrontDoor has expanded to a full-grown FidoNet
compatible system. We will never know how big of a mistake it was
:-).
Joaquim H. Homrighausen
Peter Stewart
- 5 -
- 6 -
Chapter 2
Installation
Included in the distribution archive are several files. This
document will walk you through the installation and configuration
of the system. All path names and directories suggested here are
not required. You can change them as you wish, but I suggest you
use the example in this document for a start and then move on to
change things as you become more familiar with the system. In the
example, we assume that you are about to install FrontDoor on
your C drive.
2.1 CONFIG.SYS
FrontDoor needs to have a few extra file handles allocated to
keep the nodelist and other files open. Your CONFIG.SYS file
should contain FILES=25 (or higher). If you don't know what
handles means, that's okay. As long as you have the FILES=25
statement in your CONFIG.SYS file.
You should also have BUFFERS=30 (or higher) in your CONFIG.SYS
file to improve DOS' buffer performance. If you are using a disk
cache, you should have BUFFERS=3 or something close to that.
- 7 -
2.2 AUTOEXEC.BAT
Add SET FD=C:\FD to your AUTOEXEC.BAT file. This will make sure
FrontDoor can find all its system files. You may NOT have spaces
between FD and =.
2.3 Directories
From your root directory (C:\) create a directory called FD. This
is the main (ROOT) directory for FrontDoor. Change the active
directory to FD. Create the following directories:
NODELIST
MAIL
PACKET
FILE
2.4 Files
Copy FD.EXE, FD.OVR, FM.EXE, FM.OVR, FDNC.EXE and SETUP.EXE to
C:\FD. The program files are now installed.
- 8 -
Chapter 3
Setup
The setup program, SETUP hereafter, is used to configure your FD
package. Most functions and behavior of the editor, mailer and
terminal are controlled from SETUP. When you start SETUP, it
searches for the system file, FD.SYS, in the directory pointed to
by the FD environment variable. If the FD variable hasn't been
set, SETUP searches the current directory for FD.SYS. If it can't
open FD.SYS, it will ask you if you want to create a new file or
return to DOS or the mailer.
3.1 FD environment variable
The FD environment variable allows the FD package to find the
system file, FD.SYS, even if it's not located in the current
directory. If you have a multi-drive configuration, or are
running in a network environment, you should always set the FD
variable to point to the directory where FD.SYS is located. To
set the FD variable, place the following line in AUTOEXEC.BAT.
SET FD=<PATHSPEC>
E.g. SET FD=C:\FD
3.2 Getting started
To create a new FD.SYS file, make the FrontDoor root directory
the active directory by using the DOS command CD; type SETUP and
press Enter. If you have set the FD variable, you don't have to
change the active directory before invoking SETUP.
SETUP will display a message saying something like "FD.SYS, path
or file not found". Press the space-bar to create a new file.
- 9 -
3.3 Menus
There are eight top-level (pull-down) menus. Each function and
menu of SETUP will now be described.
3.3.1 File
Shell to DOS Invokes a temporary DOS shell. Type EXIT
and press Enter to return to SETUP. You
can invoke a temporary DOS shell in
SETUP by pressing Alt-Z in the middle of
input fields, pull-down menus, selection
fields, etc.
Exit Returns you to DOS or the mailer,
depending on how SETUP was invoked. If
you made any changes to your
configuration, you will be asked if you
want to make your changes permanent or
abandon them. You can also exit SETUP by
pressing Esc at any of the top-level
menus.
3.3.2 Global
Address Defines your network address and
alternate network addresses (AKAs). You
must define at least one network address
(the first slot).
Filenames
System Where the FD package keeps its system
files. This should NOT be a RAM disk.
Netmail Where netmail messages are stored, i.e.
the netmail folder. The mailer unpacks
received messages to this directory.
This should NOT be a RAM disk.
Files Where inbound (received) files are
stored. This should NOT be a RAM disk.
Packets Where the mailer stores its temporary
mail packets. They are created every
time the mailer runs a mail event and
are removed after when the event ends.
You can use a RAM disk for this
directory as the packets are temporary
and can be rebuilt.
- 10 -
Filenames (cont'd)
Log file The log file. This is a complete
filename, e.g. C:\FD\FD.LOG. The mailer
is the only program in the FD package
that writes information to this file.
You should NOT use a RAM disk for the
log file as it will disappear if the
system reboots.
Banner The contents of this file is displayed
to human callers before the mailer
passes control to your batch file to
invoke the BBS software. This file isn't
used if you're running in mail-only
mode. You should NOT use a RAM disk for
the banner file.
Nodelist Where the nodelist database is stored.
The nodelist compiler expects to find
its control file(s) here. The mailer and
editor expects to find the compiled
nodelist database here. If this
directory isn't specified, all programs
in the FD package will use the SYSTEM
directory instead. The nodelist
directory should NOT be located on a RAM
disk.
In-event This file is displayed to human callers
if the mailer rejects their call. I.e.
if you're running in mail-only mode or
if a mail event prevents human callers
from accessing your BBS.
QuickBBS Where the editor expects to find the
QuickBBS/RemoteAccess message base files
(MSGHDR.BBS, MSGTXT.BBS, MSGINFO.BBS,
MSGIDX.BBS, MSGTOIDX.BBS and
LASTREAD.BBS). If you don't have any
folders with QuickBBS status, you don't
have to specify this.
Swapping If you enable swapping to disk or there
isn't sufficient LIM/EMS memory
available. The mailer and the editor
will use this path to store its swap
file.
- 11 -
General
Your country code Your country code. E.g. USA=1,
Sweden=46. This is used for telephone
number translations. This is related to
the COUNTRY= command used in CONFIG.SYS.
It doesn't, however, have to be the same
as your COUNTRY= setting. SETUP's
country code setting should ALWAYS be
your real country code.
Screen flickers All programs in the FD package attempts
to detect if you have a CGA card that
causes flicker if software performs
direct-to-memory access. The default for
this setting is NO and you should leave
it alone unless you're seeing flicker on
your screen when you use the mailer,
editor, or terminal.
Use "fastkey" Forces the mailer, editor and terminal
to speed up the typematic rate of your
keyboard.
This is only valid for machines with an
AT-BIOS installed. If you are using
other keyboard speed-up utilities, leave
this to NO; otherwise, the programs in
the FD package will restore the
typematic rate to the default when they
terminate.
Screen blanking Prevents screen images from "burning
in". If you are using a monochrome
monitor, data that is displayed often in
the same location on your screen will
"burn in" and leave ugly marks. Color
monitors usually don't have this
problem.
Since the mailer is active more than 80%
of the day on most systems, it may be
wise to enable this option to avoid
"burn ins" of the mailer's main display.
- 12 -
General (cont'd)
Blackout timer Specifies how many seconds of inactivity
should pass before the screen is
blanked. This option is only used if
screen blanking (previous page) has been
enabled. You can "light up" a blanked
screen by pressing a key. The screen
will also be lit when the mailer places
outgoing calls and when incoming calls
are answered.
Extended keyboard Specifies which type of keyboard you
have (101/102 or 83/84). SETUP will
attempt to 'guess' which type of
keyboard you have, but some BIOS flavors
doesn't properly indicate the type. This
allows you to override what SETUP
detects.
Force 24-hour fmt Allows you to force the mailer and the
editor to display the time in 24-hour
format even if you're located in a
country that uses the 12-hour format,
such as USA.
- 13 -
Users Allows you to specify user names and
access levels. The default name of the
first user is System Operator. You
should change this to your own name.
Access levels There are three different access levels.
Supervisor, Administrator and User.
A user with Supervisor access can
override any restrictions on folders and
messages. He/she can also change all
settings regardless of passwords. You
should only have one user with
Supervisor access, but SETUP will allow
you to define more than one. At least
one user with Supervisor access MUST
exist.
A user with Administrator access can't
override any restrictions on folders and
messages. He/she has to enter passwords
for protected items before they can be
changed.
A user with User access can't override
any restrictions on folders and
messages. The only setting he/she can
change in SETUP is his/her own password.
3.3.3 Mailer
Miscellaneous
Mail from unlisted systems
Defines whether or not the mailer should
accept incoming calls from systems not
listed in your nodelist database. If
this option is disabled (set to NO) and
an unlisted system calls in, the mailer
will terminate the call immediately.
Mail from "unprotected" systems
Defines whether or not the mailer should
accept incoming calls from systems for
which you don't have a session level
password defined. If this option is
disabled (set to NO) and an unprotected
system calls in, the mailer will
terminate the call immediately.
- 14 -
Miscellaneous (cont'd)
Mail from unlisted points
The mailer will by default accept calls
from points of other systems. You can,
however, specify that you don't want the
mailer to accept calls from points that
aren't listed in your nodelist database.
If this option is disabled (set to NO)
and a point for which you have no entry
in your nodelist database calls in, the
mailer will terminate the call
immediately.
Kill empty received messages
Specifies that you want the mailer to
kill empty messages (messages with no
text in its body) when they are unpacked
from mail packets.
Terminal only (no mail)
If enabled, the mailer will invoke the
terminal function as soon as it's
loaded. This setting can be overridden
with the /M command line switch.
Mail only (no BBS) If enabled, the mailer will not accept
human callers under any circumstances.
Use this option if you don't have a BBS
or similar software running "below" the
mailer.
Match remote's zone
If enabled, the mailer will attempt to
match the remote system's zone with one
of your own AKAs in the same zone. This
option is only used if you have
specified more than one address (AKA).
The AKA list is scanned from top to
bottom and the first entry with a zone
matching the remote's zone will be used.
- 15 -
Miscellaneous (cont'd)
Present all AKAs to remote system
If you have more than one network
address, the mailer will by default
attempt to pickup mail destined for all
your addresses during a mail session.
This can be disabled so that only one
address is presented to the remote
system.
If "Match remote's zone" (previous page)
has been enabled and this setting is
disabled, the first AKA matching the
remote's zone will be the presented
address.
Trigger exit upon receipt of netmail
The mailer will by default only trigger
(set) the exit flag when compressed
(following the ARCmail 0.60 standard)
mail is received. If this option is
enabled, the exit flag will be triggered
(set) when netmail packets (files ending
with the extension .PKT) have been
received. Whether or not the mailer will
actually exit is controlled by event
behaviors and the mail exit errorlevel.
Trigger exit upon receipt of ANY file
Similar to the previous option, but will
trigger exit as long as any (file) data
has been received.
Print received messages
If enabled, the mailer will print
messages unpacked from mail received
packets (files ending with the extension
.PKT). This option is only available in
the full version.
Busy retries Defines the maximum number of times the
mailer will attempt to call a system
during an event if the system is busy or
doesn't answer on the first call. See
the chapter about the mailer for further
details regarding call progress.
- 16 -
Miscellaneous (cont'd)
Resend retries Defines the maximum number of times the
mailer will attempt to transfer mail to
a system during an event if the first
attempt fails. See the chapter about the
mailer for further details regarding
call progress.
Retry delay Defines the minimum number of seconds
the mailer will wait between outgoing
calls.
Delay before first call
The mailer will by default attempt to
place the first outgoing call as soon as
possible. If this option is enabled, it
will delay the first call.
Days to keep mail history
Number of days to retain entries in the
floating inbound/outbound history files.
The mailer removes all entries older
than this value from the history files
every morning (at first opportunity
after midnight).
BBS software name Name of the BBS software you're running
(if any). This is displayed to human
callers together with the "Press Esc
twice for <BBSNAME>" if the event allows
human callers to access the BBS.
Seconds before passing to BBS
Defines the number of seconds the mailer
will wait before assuming a human
caller. Unless the mailer receives two
consecutive Esc characters, it will
attempt to establish a mail session for
the amount specified here. The minimum
and default value is 11 seconds. The
maximum value is 60 seconds.
Minimum undialable cost
The minimum cost of a call for a system
to be processed by the undialable
handler. The undialable handler is
discussed in a separate section.
- 17 -
Log Defines the various level of logging.
All messages will appear on the screen,
the log options defines which of them
ends up in the log file.
File requests
Mode
Anyone can request
All systems are allowed to make file
requests.
No requests
No file requests will be accepted.
Systems in nodelist can request
All systems listed in your nodelist
database are allowed to make file
requests.
List Defines the file containing requestable
directories. The file should contain one
directory per line. E.g.
C:\FILES\BBSPROG\
C:\FILES\FDPROG\
This is NOT a filemask. All files in the
specified directories are made available
for file requests.
Alias Defines the file containing alias
filename definitions. This is quite
useful for having files on-line that
changes name frequently, etc. The remote
system can request the alias filename
and then receive whatever you've told
the mailer to send. E.g.
FRODO C:\FILES\FDMAILER.LZH
XR C:\FILES\XROBOT.LZH
RACCESS C:\FILES\RA*.LZH
MYSECRET C:\TEST1.LZH C:\TEST2.LZH
The remote system can request FRODO, XR,
RACCESS or MYSECRET and get the
specified files.
- 18 -
Alias (cont'd) Files listed as alias names don't have
to be located in requestable (see List)
directories.
Message The contents of this file will be
appended to the "Failed request" message
generated by the mailer if one or more
of the file requests couldn't be
processed.
Max match Specifies the maximum number of files
your system will send during one file
request session. If the remote system
requests an alias filename that expands
to two files, the request is counted as
two files. Setting max match to zero
disables this feature.
Max size Specifies the maximum amount of data (in
KB) your system will send during one
file request sessions. Note that if the
remote system requests an alias filename
that expands into two files, the size of
both files is checked. Setting max size
to zero disables this feature.
Max time Defines the maximum time (in minutes)
the resulting files of a file request
may take to transfer. Before sending
each file, a check is made to see if
sending the file will cause this limit
to be exceeded. If so, the file is
skipped and the next file in the list
will be checked. Setting this option to
zero disables this feature.
Minimum speed Specifies the minimum baud rate required
to allow file requests. If the current
connection is at a lower speed, file
requests will not be honored.
Limited Enables limited hours.
Start Defines the time of day when your system
should start honoring file requests.
This setting can only be changed if the
limited option is enabled.
- 19 -
Limited (cont'd)
End Defines the time of day when your system
should stop honoring file requests. This
setting can only be changed if the
limited option is enabled.
Days Specifies on which days your system will
honor file requests.
FDServer The FDServer function is described in a
separate chapter. If no password is
specified in SETUP, the FDServer
function is inactive (disabled).
External mail When the mailer processes an incoming
call, all received characters are
processed for a possible match with any
of the external mail "wake-up" sequences
and if a match is made, the mailer exits
with the specified errorlevel of the
matching string.
This allows you to run alternate mail
handlers "below" the mailer, such as
UFGATE to process uucp mail. Note that
the call isn't terminated when using the
external mail interface, the FOSSIL
driver is simply deinitialized and the
mailer exits. This option is NOT
intended for echomail processors, etc.
To enter characters with an ASCII code
below 32 (space), hold down the ALT key,
enter the ASCII code on the numerical
keypad and release the ALT key.
- 20 -
Display
Mail waiting flashing
When there's new mail waiting, the text
'Mail' will flash on the mailer screen.
The flashing can be disabled with this
option.
Display clock Specifies whether or not you wan the
current date and time displayed in the
top right corner of the mailer screen.
Screen size This option is only valid for systems
with EGA and VGA cards; supporting 43/50
line modes. If enabled, the mailer will
set 43 or 50 line mode when it's
started.
Colors Allows you to choose between the default
monochrome (black and white) and the
default color sets. You can also choose
to customize the colors to suit your own
needs.
Hidden dial info Allows you to hide portions of telephone
numbers that otherwise would be
displayed when the mailer places an
outgoing call. E.g. The mailer calls
"1-305-596-2904", if you had one of the
hidden dial info strings set to "1-305",
the displayed number would be
"-596-2904".
- 21 -
Function keys Allows you to define up to 20 (24)
programs, etc. to invoke from the mailer
when any of the functions keys are
pressed. The first 10 (12) function keys
are accessed through F1-F10 (F12), the
second 10 (12) function keys are
accessed through Shift F1-F10 (F12).
Title The title to appear on the screen when
you press Alt-K from the mailer's main
screen.
Action The program to invoke or errorlevel to
exit with. To specify more than one
program, separate them by semicolons
(;). To exit with an errorlevel, specify
?<errorlevel>. E.g.
LIST C:\FD\FD.LOG;DEL C:\FD\FD.LOG
Would load the program LIST and
pass C:\FD\FD.LOG as the parameter.
When the LIST program terminates,
the mailer would proceed to the
next command, which in this case
removes C:\FD\FD.LOG.
?255
Would force the mailer to terminate
with an errorlevel of 255.
Pause Specifies whether or not you want the
mailer to pause when the invoked
program(s) terminates.
Check Specifies whether or not the mailer
should re-scan its message base when the
invoked program(s) terminates.
To create a DOS shell that doesn't force
a re-scan of the message base, specify
C:\COMMAND.COM (or wherever you have
your copy of COMMAND.COM stored) as
ACTION and set CHECK to No.
- 22 -
Errorlevels This section allows you to invoke BBS
software, or other similar software,
when an incoming call is established and
the mailer has determined that it's not
a mail call. It also allows you to
define an errorlevel to exit with when
mail has been received.
If a baudrate related errorlevel is
zero, the mailer will display a message
to human callers saying that your system
doesn't support non-mail calls at that
speed and then terminate the call. If
you're running in mail-only mode, the
mailer will never accept non-mail
(human) calls.
If the RECEIVED MAIL errorlevel is zero,
the mailer will never exit when mail has
been received. Whether or not the mailer
will actually exit when it has received
mail is determined by the current event
(if any) behavior and whether or not the
received file(s) indicated mail.
The CREATE .BAT FILE option allows you
to simplify BBS operation. If it's
enabled, the mailer will create a batch
file containing the current baudrate,
the COM port used, the number of minutes
left to the next system event, etc. This
is described in a separate chapter.
Audio control The mailer can sound alarms and make
other noises when certain events occur,
such as received mail, incoming human
callers, fatal errors, etc. This section
allows you to control which sounds
should be active and when audio should
be active.
Swapping Determines whether or not you want the
mailer to use swapping. You can disable
the use of LIM/EMS memory for the swap
function. The swap function is explained
in the Miscellaneous chapter.
- 23 -
Protection Allows you to protect certain functions
of the mailer, such as access to the DOS
shell, editor, nodelist compiler,
terminal, etc. with a password. This
feature is only available in the full
version.
- 24 -
3.3.4 Editor
Miscellaneous
Netmail.Restricted Specifies if the netmail folder should
be restricted. If you enable this, users
with user or administrator access can
only read private messages addressed to
their usernames.
Netmail.Read-only Prevents users with user or
administrator access from writing
messages in the netmail folder. The
definition of writing includes
forwarding and moving of messages to the
netmail folder.
Netmail.Export OK Defines whether or not users with user
or administrator access can export
messages from the netmail folder. The
definition of export includes moving,
copying, and export to disk.
Netmail.Use tables Defines whether or not the translation
tables should be active by default in
the netmail folder. This can be toggled
from within the editor.
Netmail.Crash If the crash status bit should be set by
default on created messages.
Netmail.Direct If the direct status bit should be set
by default on created messages.
Netmail.Hold If the hold status bit should be set by
default on created messages.
Netmail.Private If the private status bit should be set
by default on created messages.
Netmail.Kill/Sent If the kill/sent status bit should be
set by default on created messages.
Screen size This option is only valid for systems
with EGA and VGA cards; supporting 43/50
line modes. If enabled, the editor will
set 43 or 50 line mode when it's
started.
- 25 -
Miscellaneous (cont'd)
Show hard CRs If enabled, the editor will show hard
CRs in messages. The display of hard CRs
is disabled by default and can be
toggled from within the editor.
Margin Specifies the margin at which the editor
should automatically wrap text when you
enter messages. The default value, 60,
should not be changed in most cases.
When you reach the margin, the editor
will insert what's referred to as a soft
CR which means that other editors CAN
wrap the text at that position.
When you read messages in the editor, it
will use all available columns (80, 132,
etc.) as the wrap margin.
Keyboard macros Allows you to define up to 20 (24) macro
strings. These can be used to insert
common text, such as name signatures,
etc. while editing messages. The first
10 (12) function keys are accessed
through F1-F10 (F12), the second 10 (12)
function keys are accessed through Shift
F1-F10 (F12).
A pipe (|) character is translated to a
CR which has the same effect as if you
would have pressed the Enter key while
typing text.
Origin lines Appended to messages you create in
echomail-type folders to show the origin
of a message. These should include the
name and location of your system if
possible. You can choose default origin
lines for all echomail-type folders. You
can also choose a different origin line
from within the editor. Whether or not
the origin line is appended to messages
you enter in echomail-type folders is
controlled by the echo info status bit
for each folder.
- 26 -
Colors Allows you to choose between the default
monochrome (black and white) and the
default color sets. You can also choose
to customize the colors to suit your own
needs.
Xlat.In and Xlat.Out Defines the translation tables to use
wherever the translation table status
bit is active. This is used to translate
language specific 8-bit ASCII characters
to 7-bit ASCII when writing messages to
disk and vice versa when reading
messages from disk.
The In table is used when reading
messages from disk and the Out table is
used when writing messages to disk.
The SETUP program automatically creates
reasonable defaults for most countries
when it creates a new FD.SYS (system)
file. If you're located in an English
speaking country, you don't have to
worry about translation tables.
Swapping Determines whether or not you want the
editor to use swapping for its DOS
shell. You can disable the use of
LIM/EMS memory for the swap function.
The swap function is explained in the
Miscellaneous chapter.
3.3.5 Terminal
Miscellaneous
Init An additional modem initialization
string, sent to the modem as soon as the
terminal is started. If you start the
terminal directly from DOS (FD /T) or
have set the terminal-only option in
SETUP, the mailer's initialization
strings are first sent to the modem.
Download Default download path. Files that you
received (download) during a terminal
session will by default end up here.
Upload Default upload path.
- 27 -
Miscellaneous (cont'd)
Editor Allows you to install an editor or file
listing program and invoke it from the
terminal. The terminal will prompt your
for optional parameters, such as
filenames, etc. This can also be used to
invoke external protocols or external
protocol menu programs.
Protocol Zmodem, Telink or Xmodem. Defines the
default transfer protocol to use for
file transfers in the terminal.
Emulation ANSI, TTY, VT100 or VT52. Defines the
default terminal emulation protocol to
use in the terminal. Note that the
terminal's ANSI protocol supports the
AVATAR (AVT/0) emulation protocol.
Avatar Allows you to disable the support for
AVATAR sequences in ANSI emulation.
Buffer The size, in KB, of the scroll-back
buffer.
Connect noise Whether or not the terminal should make
noise when a connection has been
established.
Transfer noise Whether or not the terminal should make
noise after file transfers.
Use tables Whether or not the terminal translation
tables should be active by default. See
Editor.Xlat In for a detailed
explanation of translation tables.
Auto Zmodem Whether or not the automatic Zmodem
download (receive) function should be
enabled by default.
Local echo Whether or not the terminal should echo
typed characters to your screen by
default.
- 28 -
Miscellaneous (cont'd)
Wrap around Whether or not the terminal should move
the cursor to the beginning of a new
line when it reaches the end of the
previous line.
Screen size This option is only valid for systems
with EGA and VGA cards; supporting 43/50
line modes. If enabled, the terminal
will set 43 or 50 line mode when it's
started.
Delay Number of seconds to wait between
outgoing calls if the number you dialed
was busy or didn't answer. If there's
more than one entry in the dial queue,
the delay is ignored and the terminal
proceeds to the next number in the
queue.
Keyboard macros Allows you to define up to 20 (24) macro
strings. These can be used to transmit
common text, such as names and
passwords, etc. The first 10 (12)
function keys are accessed through Shift
F1-F10 (F12), the second 10 (12)
function keys are accessed through Ctrl
F1-F10 (F12).
To enter characters with an ASCII code
below 32 (space), hold down the ALT key,
enter the ASCII code on the numerical
keypad and release the ALT key.
This is referred to as the default macro
set.
Xlat.In and Xlat.Out See Editor.Xlat In for a detailed
explanation of translation tables. The
In table is used for characters received
from the modem (remote). The Out table
is used for characters typed on the
keyboard.
- 29 -
3.3.6 Modem
Hardware
Modem port The COM port your modem is attached to
(1-8).
Maximum baudrate The maximum supported baudrate of your
modem (300-38400). If you have locked
your FOSSIL driver, set this to the same
speed as the speed you locked the FOSSIL
driver at.
Lock port Whether or not you have locked the
FOSSIL driver's baudrate.
Reset modem to connect speed
---------------------------------------
This option should ONLY be used if you
have a modem that supports the CCITT
V.23 (split speed, 1200/75 and 75/1200)
recommendation.
---------------------------------------
Lower DTR when busy
Determines how the mailer should handle
the modem when it invokes other
programs, exits and shells to DOS. If
enabled, the mailer will simply lower
DTR. This means that your modem won't
answer the phone, but any calling
systems will not get a busy signal.
If you disable this, the mailer will
send the Offhook string to the modem
instead of lowering DTR. This can be
used to take the modem offhook when your
system isn't available so that calling
systems gets a busy signal instead of no
answer.
---------------------------------------
It's against the law of some countries
to take a modem offhook unless actual
communication is taken place. As the
operator of the FD package, it's your
responsibility to be aware of such laws
in your own country.
---------------------------------------
- 30 -
Hardware (cont'd)
Lower DTR to terminate call
If enabled, the mailer will drop DTR for
a short period of time to terminate
calls. Most modems supports this and you
should only disable it if your modem
doesn't support lowering of DTR.
If disabled, the mailer will send the
Escape code string followed by the
Onhook string to terminate a call.
Toggle DTR before dialing
Specifies that the mailer should lower
DTR, pause, and then raise DTR again
every time it places an outgoing call.
While this increases the chances of call
collision, it can be required by some
modems to reset properly, etc. Do not
enable this option unless it's
absolutely necessary.
Messages This option allows you to define the
messages sent by your modem. If your
modem doesn't send one or more of the
strings you should NOT remove them.
The 300 string is sent as CONNECT
followed by a carriage return by some
modems (USR HST for example). You should
therefore set the string to CONNECT|
(the pipe character will be replaced
with a CR by the mailer) if this is the
case with your modem.
The RING string should be set to RING|
(the pipe character will be replaced
with a CR by the mailer) if your modem
sends the RINGING message while waiting
for a call to be connected.
- 31 -
Command strings
All command strings may contain a pipe (|) character, which
translates into a CR and a tilde (~) character which translates
into a one second pause.
Escape code Used to place the modem in command (as
opposed to data/on-line) mode. This is
only used if you have disabled "Lower
DTR to terminate call" or if you're
using the "Reset modem to connect speed"
option.
Return on-line Used to place the modem in data/on-line
(as opposed to command) modem. This is
only used if you're using the "Reset
modem to connect speed" option.
Onhook Used to place the modem on hook (as
opposed to off hook) if you have
disabled "Lower DTR when busy" or "Lower
DTR to terminate call".
Offhook Used to place the modem off hook (as
opposed to on hook) if you have disabled
"Lower DTR when busy".
Dial Used when the mailer places an outgoing
call. The mailer will send the dial
(this) string, the Prefix, the telephone
number, followed by the Suffix. E.g.
<DIAL><PREFIX><NUMBER><SUFFIX>
Prefix Sent before every number when the mailer
places an outgoing call (see above).
Suffix Sent after every number when the mailer
places an outgoing call (see above).
This should be set to the pipe (|)
character to indicate a CR in most
cases.
Delay The delay (in 1/10 second) between every
string the mailer sends to the modem. If
you have an extremely fast modem (not
baudrate), such as the USR HST, you can
set this as low as one or two, but most
modems require that this is set between
four and eight.
- 32 -
Command strings (cont'd)
Init-1 .. Init-3 Modem initialization strings. They're
sent every time the mailer initializes
the modem in order (Init-1, Init-2,
Init-3). Unused strings should not be
set to anything (leave field blank).
Down Sent to the modem when the mailer
terminates. This occurs when mail has
been received or when you press Alt-Q
(quit).
Reset Sent to the modem to force it to respond
with an OK message. This should be set
to AT| in most cases.
Answer control
Manual answer Defines that the mailer should wait for
the RING message from the modem and then
send the force answer string (below) to
force the modem to answer. This is the
safest way to control modem answering
and should be used unless your modem
doesn't support it. For Hayes compatible
modems, you should add S0=0 to one of
your init strings to prevent the modem
from answering automatically.
Force answer The string forcing the modem to answer
an incoming call. This should be ATA| in
most cases.
Answer delay When the mailer receives the RING
message from the modem, it will pause
for nn 1/10 seconds before sending the
force answer string. This should be set
between four and eight for most modems.
Limited hours
Starting time
Ending time
Allows you to force the mailer to ignore
the RING message outside the specified
hours. This is useful if the telephone
line is shared by other people during
daytime but available during the night
for example.
- 33 -
3.3.7 Printer
The printer configuration can only be changed if you have the
full version. The noncommercial version defaults to using LPT1.
3.4 Manager
The managers are used to define events, session level security,
file protection (for file requests) and to define your various
message folders.
All managers require that the SYSTEM path has been defined since
they store their data files (EVENT.SYS, PASSWORD.SYS, REQUEST.SYS
and FOLDER.SYS) in that directory.
3.4.1 Events
The event manager is used to control mail and external events.
There's a global event, which is active when no other event is
active. The @ character is used for the global event.
There are two basic types of events. Mail events and external
events. Mail events are used to control how the mailer treats
mail during a given time of the day. External events are used to
force the mailer to terminate with an errorlevel at a specific
time. They can be used to run system maintenance programs, disk
optimizers, etc.
The event manager has two modes. The first is the view mode,
which is self explanatory. The second mode is the edit/create
mode. It will now be described.
Tag The event ID. A letter from A-Z or @.
The @ event has special meaning and is
described later. X is used for eXternal
events, all other letters are used for
mail events. Which letter you use isn't
important. They could correspond with
the time of day, N for Night, E for
Evening, D for Day, etc. The event tag
is used to associate an event with a
schedule block in the route file
(described later).
Days The days you want the event to be active
on. The @ event is active on all days.
- 34 -
Modifier You can define a start time for the @
event. It's not used to control the
start of the @ event. It can be added,
subtracted, or ignored, when calculating
the actual start time of other events.
If the modifier for an event is +, the
start time of the @ event is added to
the start time of the event.
If the modifier for an event is -, the
start time of the @ event is subtracted
from the start time of the event.
If the modifier for an event is *, the
start time of the @ event is ignored and
not used to calculate the actual start
time of the event.
This is very useful when it's time to
switch between winter and summer time.
Instead of having to manually go into
each event and define a new start time,
you could change the start time of the @
event and the start time of all other
events will be changed.
Let's say you have an event (tag=E) that
starts at 08:00 in the morning with a
modifier of +. Your @ event has a start
time of 01:00. Since the modifier was +
(add), the start time of @ (01:00) will
be added to the start time of the E
event and the result will be that event
E starts at 09:00. If you change the
modifier to - (subtract), the start time
of event E will be 07:00 (08:00 minus
01:00). If you set the modifier to *
(ignore), the start time of E isn't
affected.
Start time Defines the start time of an event. See
Modifier (above) for an explanation on
how this can be affected.
Length Defines the length of the event.
External events (X) always have a length
of 00:01 (one minute).
- 35 -
Min.cost / Errorlevel For mail events, this defines the
minimum cost of messages that should be
qualified (see Mail routing).
For external (X) events, this defines
the errorlevel that the mailer will
terminate with. You may use any value
from 31-255.
Max.cost Defines the maximum cost of messages
that should be qualified (see Mail
routing).
Behavior Defines the behavior of the event. Mail
events and external (X) events have
different behavior options, this is
described later.
Use alias Defines which of your AKA the mailer
should use for a mail event. It will
present itself with the specified
address (AKA) during the whole event.
This does not affect the "Match remote's
zone" option, described earlier.
Retry delay Defines the delay (in seconds) the
mailer should wait between placing
outgoing calls. A value of zero means
that you want the mailer to use the
default delay (described earlier).
3.4.1.1 External event behavior
Allow users during event
Defines whether or not non-mail (human)
calls are allowed to interrupt the
event.
If a non-mail call comes in at 12:00 and
you have an external (X) event scheduled
for 12:30, the mailer will take the X
event into account when calculating the
number of minutes left until the next
event, depending on how this option is
set. If it's disabled, the user would,
in this case, only have 30 minutes until
the next event. If it was enabled, the
mailer would instead scan ahead for the
next (if any) event that doesn't allow
users.
- 36 -
External event behavior (cont'd)
Forced Defines whether or not the event is
forced. The mailer, by default, ignores
events that it "missed" while doing
something else. If you enable this
option, the event will be executed even
if the mailer have "missed" it.
Assume you have a non-forced external
(X) event scheduled for 12:00 and a user
calls in at 11:50. The call lasts for 30
minutes (12:20). When the mailer is
brought back up again, the external
event will not be executed. If, however,
you had this option enabled for the
external (X) event, it would be executed
as soon as the mailer was brought up
again.
Inactive Toggles the state of the event. The
mailer will ignore any inactive events.
This allows you to deactivate events
without removing them from the event
manager.
3.4.1.2 Mail event behavior
Allow users during event
This has the same function as for
external (X) event. In addition, non-
mail calls will not be accepted during
the duration of the event if this is
enabled.
Exit when mail is received
Defines whether or not you want the
mailer to exit when mail has been
received. This allows you to process
received echomail, etc.
High priority (crash) mail only
Forces the mailer to ignore messages
that doesn't have crash status. Note
that messages with immediate (IMM)
status are not affected by this.
- 37 -
Mail event behavior (cont'd)
Allow file requests
Defines whether or not you want the
mailer to honor file requests during an
event. If you disable this option, the
mailer will simply ignore file requests.
Pickup file requests
The mailer will by default not accept
file requests received during an
outgoing (outbound) mail call since
you're paying for the call. This option
allows you to pickup waiting file
requests and process them. Whether or
not they're actually honored is defined
by the Allow file requests option.
Hold (don't send) file requests
Forces the mailer to ignore outgoing
(your own) file request messages during
the event. This is useful if you don't
want to send out file requests during
daytime events for example.
Attempt to pickup waiting mail
Defines whether or not you want the
mailer to pickup any waiting mail on
outgoing calls. The default (Yes) should
be used unless you want the mailer to
terminate the mail session as soon as it
has delivered its mail. If this option
is disabled, your file requests (if any)
will fail since the mailer terminates
the call before the remote system has a
chance to process them.
Allow nodes to pickup waiting mail
This option is the same as using the
DENY route command (see Mail routing).
The only difference is that you can't be
selective about which systems can pickup
waiting mail. If a system calls in to
deliver its mail and this option is
disabled, your system will not release
(send) any waiting mail.
- 38 -
Mail event behavior (cont'd)
Send-only Forces the mailer to make outgoing calls
without waiting for the specified time
(retry delay, etc.) between calls. The
mailer will still accept incoming
(inbound) mail, but the chances of
another system getting through are very
small.
Receive-only Specifies that you don't want the mailer
to make any outgoing calls during the
event.
End event when no more mail to send
If you have an event with some
restrictions on other systems or don't
allow users, it may be useful to enable
this option, forcing the mailer to
release all restrictions enforced by the
event as soon as there is no more mail
to send.
If new mail is entered that qualifies
for mailing and the event has ended
(prematurely), it will be restarted.
Send to CM systems only
Forces the mailer to only qualify those
systems that have the CM (continuous
mail) flag set in their nodelist entry.
Send to non-CM systems only
Forces the mailer to only qualify those
systems that DON'T have the CM
(continuous mail) flag set in their
nodelist entry.
- 39 -
Mail event behavior (cont'd)
Only execute event once
Forces the mailer to only deliver mail
to a system once during the event. If
the event is interrupted or aborted, the
mailer will remember which systems it
has already delivered mail to and when
the event is restarted, it won't call
those systems again.
Assume you have mail to 1:135/20 and
2:310/11 during event A, with this
behavior enabled. On the first call to
1:135/20, the mailer sends its mail
successfully. If the event is restarted
for some reason (user break, human
caller, mail receive exit), the mailer
won't call 1:135/20 again, even if
there's new mail for that system.
Inactive The same as for external (X) events.
3.4.1.3 The @ event
The @ event, unless you have defined it as inactive, is active
whenever your system is not in another mail event. You can use it
to send local and/or low cost mail whenever the mailer isn't
busy, etc. You can specify a schedule block (see Mail routing),
using the @ tag and define routing rules for it just like any
other mail event. If the mailer doesn't find a schedule block for
the @ tag, it will still use any global rules defined in the
route file.
3.4.1.4 Overlapping events
Overlapping events are fully supported by the mailer.
Event B starts at 05:00 with a duration of 01:00. Event A
starts at 05:01 with a duration of 00:15. The behavior for
event A includes Only execute event once and End event when
no more mail to send.
Event B will start at 05:00, after one minute, event A will
start and last for fifteen minutes (or end when there's no
more mail to send).
Once event A has ended, B will resume. This is a very
powerful and useful concept. It can be used to start
temporary or dynamic events within events that lasts for
several hours.
- 40 -
3.4.2 Folders
Folders are used to define different areas (directories or boards
for QuickBBS/RemoteAccess) so that you can use the editor to read
and write messages in those areas. The editor only knows about
one folder by default. It's defined in the path section of SETUP
(described earlier) and is referred to as the Netmail folder.
The folder manager has two modes. The first is the view mode,
which is self explanatory. The second mode is the edit/create
mode. It will now be described.
Status The status and type of the folder.
Origin The default origin line to use. This is
only used for echomail-type folders with
the echo info status enabled. Origin
lines are used to identify the origin of
a message in echomail conferences. This
is required because echomail isn't a
point to point environment, like a
telephone conversation. Echomail
conferences are usually widespread and
can have an unlimited number of
participating systems.
Title The title appearing in the folder list
when you select a new active folder in
the editor.
Board / Path Depending on the type of the folder,
this is either the QuickBBS/RemoteAccess
board number or the DOS path (directory)
where the messages for this folder
should be stored.
Users Defines which users should have access
to this folder. If a user doesn't have
access to a folder, it won't show up on
his/her list of available folders.
Password Defines whether or not access to the
folder is protected by a password. You
can allow users to access a folder, and
the password protect it.
- 41 -
Use AKA Defines which address (AKA) the editor
should use for the folder. This is only
important for echomail-type folders with
the echo info status enabled. The
address is a part of the origin line.
Folder status
Restricted If enabled, users can only read private
messages addressed to their username.
Public messages are not affected by
this.
Echo info Whether or not an origin line should be
appended to newly created messages. See
Origin (previous page) for more
information.
Export OK See Netmail.Export OK described earlier.
Echomail Defines the folder as an echomail folder
(as opposed to a local folder).
Local Defines the folder as a local folder (as
opposed to an echomail folder). This is
usually used to access local BBS message
areas.
Translate Enables the translation tables for the
folder. They can be toggled on/off from
within the folder.
Private Specifies that the private status should
be allowed (and the default) for
messages created in the folder. This
should NOT be used in echomail folders
unless the echomail conference
explicitly allows this.
Read-only See Netmail.Read-only described earlier.
- 42 -
3.4.3 Security
The security manager is used to define session level passwords
for other systems. The security manager can also be used to
explicitly refuse file requests from a system.
Session level passwords are used to protect the receiving
(called) system in a mail session to ensure that the calling
system really is what it appears to be. Anyone can setup a
mailer, like FrontDoor or D'Bridge and send you mail. If there's
mail waiting for the address they're using, your system will by
default attempt to send it.
You should setup session level passwords for all your common mail
links, such as echomail distribution systems, etc.
System The system address of the remote system.
E.g. 1:135/20.
Password Defines the session level password that
your system will present when calling
the specified system and the password
that your system require to establish a
mail session from the specified system.
Note that some systems treat passwords
case sensitive, i.e. ALLAN is not
treated like AlLaN. The mailer will
treat passwords case insensitive on
incoming (inbound) calls. They will,
however, be sent EXACTLY as you have
defined them here.
You don't have to specify a password to
enable the FREQs option (below).
FREQs Specifies whether or not the specified
system is allowed to make file requests.
ARCmail Not implemented yet.
The mailer will ignore any entries in the security manager with
inactive status.
- 43 -
3.4.4 Requests
The request manager is used to password protect file requests.
You can protect a whole directory or individual files. This is
useful if you have sensitive files on-line for file requests but
don't want everyone to be able to request them.
Filename/Directory Defines the filename / directory you
want to protect. This is NOT an
exclusive name. If you set this field to
C:\HIDDEN\ and define a password, all
file requests that result in files being
sent from C:\HIDDEN\ are protected. If
you set this field to MYSECRET.LZH and
define a password, the file MYSECRET.LZH
will only be sent if the requesting
system presented the proper password.
Password Defines the password for the specified
file / directory. The requesting system
have to present this in its request to
get the file(s). These passwords are
treated case insensitive.
The mailer will ignore any entries in the request manager with
inactive status.
- 44 -
Chapter 4
Mailer
The mailer (FD) is the core program of the FD package. It's
responsible for sending and receiving messages; and optionally
pass human callers to a BBS. The terminal function is also
located in the mailer and can be reached from one of the menus in
the mailer.
Most functions of the mailer are reached by holding down the Alt
key and pressing a key, A-Z.
4.1 Menus
Each function and menu of the mailer will now be described.
4.1.1 Alt-P Programs
Alt-E
Message editor Loads the editor (FM).
Alt-J
Terminal Loads the terminal function (it resides
in the mailer overlay file, FD.OVR).
Alt-C
Configure Loads the SETUP program.
Alt-N
Nodelist Loads the nodelist compiler (FDNC).
Alt-K
User keys Allows you to select one of the 20(24)
user definable functions.
- 45 -
Alt-Z
DOS shell Invokes a temporary DOS shell. Type EXIT
and press Enter to return to the mailer.
Packets created with any of the
temporary mail services function (File
request, transmit file, send mail) will
be discarded when you return and the
mailer will re-scan the message base.
Alt-Q
Quit Returns you to DOS. The mailer will
return errorlevel 10 (user break) when
you press Alt-Q.
4.1.2 Alt-U Utilities
Alt-A
Active event Shows the settings for the currently
active event (if any).
Alt-I
Inbound history Invokes the inbound call (mail) history
management function.
Alt-O
Outbound history Invokes the outbound call (mail) history
management function.
Alt-R
Recent activity Shows you the last two days of general
activity, failed sessions, file
requests, number of files/bytes sent and
received, etc.
Alt-X
Disconnect Allows you to manually terminate a call.
This will also re-initialize the modem.
Alt-L
Lock keyboard Allows you to lock the keyboard (and
mailer) against unauthorized use. The
mailer will still perform its duties
such as sending and receiving mail, etc.
You must enter the specified password to
unlock the keyboard. If the mailer exits
(due to mail received or a BBS call is
received), the keyboard lock status is
retained and when the mailer is brought
back up, the keyboard will be locked.
- 46 -
Restart event Forces the mailer to re-scan the message
base and create new mail packets. All
previous packet (note: NOT MAIL)
information is discarded.
4.1.3 Alt-M Mail
Alt-B
Queue manager Allows you to manipulate the current
mail queue. If no mail event is active,
the mail queue is empty. The mail queue
is described in a later chapter.
Alt-V
Undialable manager Allows you to manipulate systems marked
as undialable. This is discussed in a
separate section.
Alt-F
Forced poll Creates a priority entry in the mail
queue for the specified system. If an
entry for the specified system already
exists in the queue, its status is set
to priority. If the mailer has to re-
scan the message base, the temporary
poll is removed from the mail queue.
Alt-G
Request files Allows you to create a temporary file
request to the specified system. If the
mailer has to re-scan the message base,
the temporary file request is removed
from the mail queue.
Alt-T
Transmit files Allows you to transmit files to the
specified system. As with the poll and
request function (above), this is only a
temporary function; if the mailer has to
re-scan the message base, the entry is
removed from the mail queue.
Alt-S
Send mail Allows you to create a temporary mail
packet for the specified system. You can
choose to include all or high-priority
mail. If the mailer has to re-scan the
message base, the entry is removed from
the mail queue.
- 47 -
4.1.4 Alt-Y Your profile
Answer Allows you to toggle the manual answer
status. This option is only valid if you
have enabled the manual answer option in
SETUP.
Printer Allows you to toggle the printing of new
(incoming) messages. This option is only
available in the full version.
Human callers Allows you to toggle whether or not you
want the mailer to accept human callers.
This option is only valid if you're not
running the mailer in mail-only mode.
Exit on mail Allows you to toggle whether or not the
mailer should exit when mail has been
received. This option is only valid if
an errorlevel for received mail has been
specified in SETUP and the active event
(if any) specifies that the mailer
should exit when mail has been received.
Alt-W
Which AKA Allows you to select a different AKA to
operate under. The specified AKA will be
active until the mailer exits or you
select a new AKA to operate under. Note
that this does not effect the zone match
function of the mailer.
4.2 Alt-B Mail queue
The mail queue function allows you to modify the status of one or
more mail packets, temporarily change the destination of mail
packets and to unpack one or more packets.
F1
Priority Sets priority status on all selected
packets. Packets with priority status
are always processed before packets with
crash or normal status.
F2/Enter
Verbose Shows more information about the
highlighted mail packet such as attached
files, estimated transfer time, etc.
- 48 -
F3
Crash Sets crash status on all selected
packets.
F4
Hold Sets hold status on all selected
packets. Packets with hold status will
never be processed by the mailer unless
the destination system calls in to
pickup mail.
F5
Select all Selects all packets.
F6
Destination Changes the destination of all selected
packets. When the mailer processes the
mail queue, it will treat all active
(non sent and non held) packets as
individual packets, including two or
more different packets destined for the
same system. If a connection is made
(whether the destination system calls
you or your system calls it), however,
all packets destined for that system
will be sent.
F7
Unpack Discards all selected packets (note: NOT
MAIL) from the queue.
F8
Clear status Sets normal status on all selected
packets.
F9
Clear busy retries Sets the dial attempts for all selected
packets to zero.
Esc
Exit Returns you to the mailer.
Space
Select Selects the currently highlighted
packet.
- 49 -
4.3 Call progress
When the mailer has mail to send, it will walk through the mail
queue and call the systems with mail packets waiting. Packets
with sent, failed, and hold status are ignored by the mailer.
Packets with failed and hold status can always be picked up by
the destination system when it calls in.
After every unsuccessful (busy, no carrier, etc.) call, the busy
retry counter is incremented until it reaches the value defined
in SETUP. Once the limit has been reached, the mailer puts hold
status on the packet. If a connection is made but the actual
transfer fails, the resend retry counter is updated and once the
limit, defined in SETUP, is reached, the mailer puts failed
status on the packet.
Press the space-bar to force the mailer to place the next
outgoing call.
4.4 Waiting mail indicator
Every time the mailer scans the message base (netmail folder), it
looks for unread messages destined for your system. If any are
found, it will enable the flashing "Mail" text on the top of your
screen. Once the message(s) have been marked received (read), the
flashing mail text will disappear.
4.5 Undialable
When the mailer reaches the resend (session failure, transmission
failure, etc.) retry limit for a system during an event. That
system is added to the undialable table with a 'grade' of one.
When the 'grade' reaches three, the system is considered
undialable and the mailer will never call that system again
(until you manually 'upgrade' it).
The undialable manager is accessed by pressing Alt-V from the
mailer's main menu and allows you to 'upgrade' a system's status,
add a system manually to the undialable list, and remove one or
more undialable systems.
The undialable system information is kept in FDNODIAL.SYS in
FrontDoor's system directory.
- 50 -
4.6 Command line switches
/T Force the mailer into terminal mode
directly from DOS. Once you exit the
terminal, you will be returned to DOS.
/M Force the mailer into mail mode directly
from DOS. This switch was added to allow
you to override the terminal-only
setting in SETUP.
/S Force the mailer to ignore any forced
events it may have missed. The mailer
will by default execute all pending
external events when it's brought up.
This switch is useful if you've
performed system maintenance for several
hours and don't want the mailer to
execute any overdue forced events.
/NOEMS Specifies that you don't want the mailer
to use LIM/EMS (expanded) memory for its
overlay buffer. If you load the editor
from the mailer (Alt-E) and /NOEMS was
specified when the mailer was loaded,
the editor will also be loaded with
/NOEMS. This has no effect on how
swapping is handled.
/L:<password> Locks the keyboard with the specified
password directly from DOS. This has the
same effect as using the Alt-L (Lock)
function from the mailer's main menu.
- 51 -
- 52 -
Chapter 5
Editor
The editor (FM) is the program used to write and read messages.
It can be invoked from the command line in DOS or from the mailer
(FD) by pressing Alt-E.
The editor has two "status" lines. The bottom status line is used
to display the current message, number of messages in the current
folder, the lowest and highest message numbers and the number of
messages remaining to the last message (last minus current). The
top status line shows the currently active AKA (address), the
current time and the folder you're in.
Most functions of the editor are reached by holding down either
the Ctrl or Alt key and pressing a key, A-Z. If you press a key
that has no function in the editor, it will display a message
saying "Press Alt-M for menu" on the bottom status line.
5.1 Menus
Each function and menu of the editor will now be described.
5.1.1 Alt-M Main
Ins
Create Allows you to create a new message in
the current folder. You will be prompted
for the destination (address/user), etc.
Del
Kill Removes the currently displayed message.
The editor will confirm that you really
want to remove the message.
- 53 -
Alt-R
Reply Similar to the create (Ins) function.
The destination of the newly created
message, however, is taken from the
sender of the message you're replying
to. This function also allows you to
quote the original message, in whole, or
selected parts.
Alt-N
Netmail reply Similar to the reply (Alt-R) function.
If you are in a local or echomail
folder, your message (the reply) will be
placed into the netmail folder. The
destination address of the message is
taken from either the origin line
(echomail folders) or the sender's name
(local folders).
Alt-C
Reply comment Similar to the reply (Alt-R) function.
It allows you to create a follow-up
message with additional comments to the
same destination as the original
message. This function is only available
in the full version.
Alt-L/TAB
Forward This function allows you to redirect a
message to someone else. It will also
insert some additional information at
the top of the message, showing who the
message was originally from, etc. You
can choose whether or not you want to
overwrite the original message with the
forwarded message. Alt-L will also add
the default message status to the
message and remove the Rcvd and Sent
status bits if they were set.
- 54 -
Alt-F
Folders Allows you to change the active folder.
You can't change to another folder while
editing a message, but you can view the
folder list. The type of each folder is
shown as E for Echomail, L for Local and
M for netmail.
To select a folder, you can use the
arrow keys to move the highlight bar and
then press Enter. You can also type the
number of the folder followed by
pressing Enter.
Cltr-F
Folder scan Scans all folders and indicates which
folders have any message number higher
than the last read message.
Alt-Z
DOS shell Invokes a temporary DOS shell. Type EXIT
and press Enter to return to the editor.
Alt-Q
Quit Returns you to DOS or to the mailer,
depending on how the editor was invoked.
If you are editing a message, you will
be asked whether or not you wish to save
it before exiting.
- 55 -
5.1.2 Alt-E Edit
Alt-S
Status Allows you to change the status of a
message.
Alt-A
Subject Allows you to change the subject of a
message. If you have a message with file
attaches and press Alt-A, the file
attach list will be processed again and
if you specified wild-cards or more than
one file on the subject line, you'll
have to select the files you want to
send once again.
Alt-T
Text Allows you to edit the text (body) of a
message. If you are already in editing
mode, this will bring up a secondary
menu with text editing related
functions.
Alt-D
Destination Allows you to change the destination of
a message. This will add the default
message status to the message and remove
the Rcvd and Sent status bits if they
were set. As opposed to the forward
(Alt-L) function, using Alt-D will not
result in any text being added to the
message body (forwarding info).
Ctrl-F2
Toggle Brings up the toggle menu.
- 56 -
5.1.3 Alt-T in edit mode
Alt-F2
Import file Allows you to import an ASCII file into
the text. The contents of the file will
be inserted at the current cursor
position.
Ctrl-Enter
Insert line Inserts a blank line after the current
line. The cursor will remain in the same
position.
Ctrl-B
Line to buffer Adds the current (where cursor is
positioned) line to end of the temporary
buffer and moves the cursor down one
line. The last eighty lines of
deleted/marked text is always retained
in a temporary buffer and can be
reinserted with Alt-F1 or Esc.
Ctrl-W
Delete word Deletes the word to the right of the
cursor.
Ctrl-G
Go to line# Allows you to specify an absolute line
number to place the cursor on.
Ctrl-T
Delete to EOF Deletes all text from cursor to end of
message.
Alt-F5
Find Searches for the specified string, and
if found, places the cursor on the first
character of the found word.
Alt-F6
Find & Replace Allows you to replace a string with
another. Note that this function will
restore the cursor position (the find
function will not).
- 57 -
Alt-F8
Re-format Reformats a block of text (from cursor
to the next blank line) and removes any
hard CRs from the reformatted lines. It
will add a hard CR to the end of the
reformatted block.
Alt-F4
Line drawing Allows you to draw lines and boxes using
a variety of line sets. This function is
only available in the full version.
Alt-F1/Esc
Undelete Inserts the last deleted line at the
current cursor position. The last eighty
lines of deleted/marked text is always
retained in a temporary buffer.
Alt-F10/Ctrl-Z
Save & exit Save (or discard changes to) the current
message.
5.1.4 Toggle menu
Ctrl-X
Translation tables Toggles the state of the translation
tables.
Ctrl-C
Hard CRs Toggles whether or not hard CRs in the
message text should be displayed.
Cltr-E
Echo info Toggles the state of the echo info. This
function is only available in echomail
folders.
5.1.5 Other keys in edit mode
Left, Right, Up, Down Moves the cursor.
Ctrl-Left Places the cursor at the beginning of
the word to the left of the cursor.
Ctrl-Right Places the cursor at the beginning of
the word to the right of the cursor.
Home Moves to the beginning of the current
line. If the cursor is already at the
beginning of the line, it will be moved
to the top of the text window.
- 58 -
(Other keys in edit mode cont'd)
End Moves to the end of the current line. If
the cursor is already at the end of the
line, it will be moved to the bottom of
the text window.
PgUp/PgDn Scrolls one page up/down.
Ctrl-Up/Ctrl-Down Scrolls one line up/down without moving
the cursor. This option is only
available for systems with 101/102 key
(extended) keyboards.
Ctrl-PgUp/Ctrl-PgDn Moves to the beginning/end of message.
Tab Expands to 6 spaces (or to the next TAB
column).
Backtab (Shift Tab) The opposite of Tab. Moves the cursor
six spaces back (or to the previous TAB
column).
Ins Toggles insert mode on/off.
Del Deletes character under cursor and
scrolls the rest of the line left
without moving the cursor.
Backspace Deletes character to the left of cursor
and scrolls the rest of the line left,
moving the cursor one step.
Ctrl-End Deletes from cursor to end of line.
Ctrl-Y Deletes the entire line.
Ctrl-U Changes the case of the current line.
- 59 -
5.1.6 Other keys in view (read) mode
Home Move to first message in folder.
End Move to last message in folder.
Left/Right Move to previous/next message in folder.
Up/Down/PgUp/PgDn Scroll message text (line or page).
Ctrl-PgUp/Ctrl-PgDn Move to beginning/end of message.
Space Selects current message as 'home'
message. Note that once you switch to
another folder, set 'home' message is by
default set to the current message.
Enter Returns to home message.
Ctrl-Left/Ctrl-Right Find previous/next message addressed to
current user.
-/+ Move to previous/next message in reply
chain.
Ctrl-Home/Ctrl-End Move to first/last message in reply
chain.
1-9 Go to specified message number.
Ctrl-Up/Ctrl-Down Move to previous/next tagged message.
This requires that you first use Alt-F9
(management) and select the messages you
wish to move between.
- 60 -
5.1.7 Alt-U Utilities
Alt-F9
Management Invokes the management function.
Alt-J
Move/copy Allows you to move/copy the current
message to another folder.
Alt-V
Message to file Exports the current message to an ASCII
file. If the specified file already
exists, you will be asked if you want to
overwrite its contents or append the
message to the end of the file.
Alt-I
Print message Adds the current message to the print
queue.
Alt-B
Renumber Renumbers the messages in the current
folder so that there are no gaps in the
numbering. This function is not
available in QuickBBS/RemoteAccess-type
folders.
Alt-G
Change username Allows you to change the current user
profile.
Alt-W
Change address Allows you to change the active network
AKA (address). This will also change the
address that's inserted in origin lines
in echomail folders.
Alt-O
Change origin Allows you to change the active origin
line. Whether or not an origin line is
appended to messages that you create is
determined by the echo info setting
(echomail folders only).
Alt-X
Show notes Displays extended information (hidden
behind control-A characters) in a
message.
- 61 -
5.1.8 Alt-P Purge
From user Allows you to purge all messages from
the specified user in the current
folder.
To user Allows you to purge all messages to the
specified user in the current folder.
From network address Allows you to purge all messages that
originated from the specified address in
the current folder.
To network address Allows you to purge all messages
destined for the specified address in
the current folder.
Received Allows you to purge all received (read)
messages in the current folder.
Age Allows you to purge all messages older
than the specified date in the current
folder.
5.2 Entering messages
Press Ins. The screen will be refreshed and you will be prompted
for the destination. If you are in the netmail folder, you can
use the name/address look-up function to specify the destination
of the message; if you are in an echomail/local folder, you must
type the destination manually.
Once you have specified the destination of a message, you will be
prompted for the subject (Re:). If you want to send or request
files to/from another system, select the proper status bits and
specify the file data in the subject line. Note that the default
message status (specified in SETUP) is always added, but can be
changed.
Enter the message text and press Ctrl-Z (or Alt-F10) to save the
message.
- 62 -
5.2.1 Message status bits
Ctrl-P
Private Indicates that the message should only
be read by the addressee.
Ctrl-C
Crash High-priority mail. Messages with crash
status can never be routed or held by a
route file. Crash messages also
overrides any cost restrictions for an
event. Crash messages do, however,
require that the destination system has
been qualified before the mailer will
call it.
Ctrl-H
Hold The hold status will force the mailer to
ignore the message unless the
destination system calls your system to
pick up its mail. If the message is
destined for a point system and the boss
of the point system calls your system,
the message will be given to the boss
unless the message also has direct
status.
Ctrl-F
File Indicates that the message has one or
more files attached to it. The files are
listed in the subject line. File attach
messages can be routed and held unless
another status bit (Crash, Immediate,
Hold, etc.) prevents it. The default
treatment of a file attach message is to
send it directly to its destination.
Ctrl-R
File request Indicates that the message is a file
request. The requested files are listed
in the subject line and may contain
wild-cards characters. File request
messages can be held, but are never
routed.
- 63 -
Ctrl-U
Update request Similar to file request (Ctrl-R), but
the subject line must contain valid
(existing) file specification(s). When
the mailer connects to the destination
system, the requested files will only be
sent by the remote if they are more
recent than the matching files on your
system.
Ctrl-K
Kill/Sent Removes the message after it has been
sent or picked up. If the kill/sent
status is not set on a message, it will
be marked as sent after it has been sent
or picked up.
Ctrl-T
Truncate file/sent Truncates the attached files to zero
length after they have been sent or
picked up. This option is only valid for
file attach messages. Note that it's
nearly impossible to recover a truncated
file so use this option with caution.
Ctrl-E
Delete file/sent Removes the attached files after they
have been sent or picked up. This option
is only valid for file attach messages.
Ctrl-D
Direct Similar to the crash status, but
messages with direct status can be held
and will not override cost restrictions.
Ctrl-I
Immediate mail Similar to the crash status, but
messages with immediate status will be
sent at the first opportunity, ignoring
all restrictions/qualifications. If
there's one or more messages with
immediate status to a system, all other
messages (except those with hold status)
to that system will be added to the mail
packet. USE THIS OPTION WITH EXTREME
CAUTION!
- 64 -
Ctrl-L
Lock Locks a message from further access.
This is done by setting the DOS
attribute to read-only. The mailer and
most other utilities will ignore files
with read-only status. Messages with
lock status can't be removed by any of
the purge functions and will never be
sent (or picked up). The editor can
renumber a message with locked status.
Ctrl-S
Sent Indicates that the message has been sent
or picked up by the addressee. Once a
message has been flagged as sent, they
can't be sent or picked up by the
addressee.
Ctrl-Z
No status Clears all status bits.
- 65 -
5.3 Alt-F9 Management
The management function is used to perform global operations on a
range of messages such as moving, printing, copying, deleting,
etc. When you press Alt-F9 for the first time in a folder, the
editor will scan all the messages in the folder and build a list
of them. That list is kept in memory until you press Alt-F9 in
another folder. If you remove, add or renumber messages the list
will be updated accordingly, so no re-scan is necessary.
5.3.1 Main menu
Del
Kill Removes all selected messages.
F3
Print messages Prints all selected messages.
F4
Range select Allows you to select a range of messages
matching a certain criteria.
F5
Select all Allows you to select all messages in the
folder.
F6
Move Allows you to move all selected messages
to another folder.
F7
Copy Allows you to copy all selected messages
to another folder.
F8
Export to file Allows you to export all selected
messages to an ASCII file.
Enter
Go to message Returns to view mode and makes the
highlighted message the current message.
Space
Select Selects the current message.
Esc
Exit Returns you to view mode.
- 66 -
5.3.2 Continuoues tagging
If you activate Caps Lock, messages can be tagged (selected) by
moving the bar with the arrow keys.
5.3.3 Range select
The range select function allows you to select a range of
messages matching a certain criteria. Most of the functions only
require a partial match with the selected search criteria.
F2
From user Selects all messages from the specified
user.
F3
To user Selects all messages to the specified
user.
F4
Originating address Selects all messages originating from
the specified address.
F5
Destination address Selects all messages destined for the
specified address.
F6
Text Selects all messages containing the
specified search string in the message
body.
F7
Date Selects all messages between two dates.
F8
Subject Selects all messages matching the
specified subject.
F9
Received Selects all messages with received
(read) status.
Esc
Exit Returns you to the main menu of the
management function.
- 67 -
5.4 Keyboard macros
The keyboard macros are located on F1-F10(12) and Shift F1-
F10(12). When a macro key is pressed, the editor will insert its
contents at the current cursor position. Pipe (|) characters are
translated to CRs.
5.5 Carbon copies (CC)
Carbon copies, CC hereafter, is more or less what the name
implies. A function that allows you to send the same message to
two or more recipients; a distribution list. The CC function is
only active in the netmail folder. The CC function can also be
used for file attach and file request messages.
To use the CC function, put the text "CC:" followed by one or
more SysOp names or system addresses, separated by a comma, at
the top of the message. Once you select to save the message, the
editor will scan the beginning of the message text for CC: and if
found, process each element of the CC list. You can have more
than one line with CCs. I.e.
cc: homrighausen,#stewart,samet
cc: nugent,kasza,wallin,1:135/33
Note that if you create several messages using the CC function,
editing any of them will not reactivate the CC function. You can
only tell the editor to process CC lists when you are entering
new messages.
- 68 -
5.5.1 Hidden CCs
To hide a recipient in a CC list, put the pound (#) character in
front of the SysOp name or system address. I.e.
cc: #1:135/20,#1:135/990,2:310/11
5.5.2 Using files as input to CCs
You can also specify a file containing SysOp names or addresses
to the CC function. I.e.
cc: @betanote.txt
5.5.3 Address expansion
All addresses in a CC list can be entered in short form, and
several macros are recognized.
cc: mynet/all Will process your whole net (using the
currently selected AKA) and add every
system to the CC list.
cc: 2:310/all,1:135/all Will include all systems in net 2:310
and 1:135.
cc: 1:135/20.all Will include all listed point systems
under 1:135/20.
- 69 -
5.6 Cross-posting (XC)
Although CCs aren't supported for echomail and local folders,
there's an additional function that provides you with a method of
broadcasting the same message to two or more folders. This
function is called cross-posting, hereafter called XC, and is
only available in the full version.
To use the XC function, put the text "XC:" followed by one or
more numbers, separated by commas. Each number represents a
folder number where you want the message cross-posted. If your
folder list looks like:
1 BNU
2 COMP.SYS.IBM.PC
3 FDECHO
4 TSECHO
5 NETSYSOP
And you put XC: 1,3,5 in a message in folder two. The resulting
messages will have
* Cross-posted in BNU
* Cross-posted in COMP.SYS.IBM.PC
* Cross-posted in FDECHO
* Cross-posted in NETSYSOP
At the top of each message. The target folder is excluded from
the list. I.e. * Cross-posted in BNU will appear in each message
not going to the first (BNU) folder.
5.7 Command line switches
/NOEMS Specifies that you don't want the editor
to use LIM/EMS (expanded) memory for its
overlay buffer. This has no effect on
how swapping is handled.
- 70 -
Chapter 6
Terminal
Although FrontDoor was designed primarily as an e-mail system, it
also features a powerful terminal emulator, hereafter called the
terminal. The terminal features very accurate and efficient
terminal emulation and file transfer protocols; and several other
features found in expensive and/or complex communications
packages.
The terminal is invoked by pressing Alt-J from the mailer's main
menu, or by specifying /T on the mailer's command line. You can
also choose to run the mailer in terminal-only mode, in which
case the terminal is brought up directly when you start the
mailer.
Most functions of the terminal are reached by holding down the
Alt key and pressing a key, A-Z. If you press a key that has no
function in the terminal, it will display a message saying "Press
Alt-H for help".
6.1 Menus
Each function and menu of the terminal will now be described.
6.1.1 Alt-F File
The file menu contains functions to manipulate macros, upload and
download files, transmit ASCII files, invoke DOS shell and
editor, etc.
Alt-G
Download files Receive one or more files from the
remote system.
Alt-T
Upload files Transmit one or more files to the remote
system.
- 71 -
Alt-A
Transmit ASCII file Allows you to transmit an ASCII file to
the remote. You will be able to select
the default inter-character delay and
line translation. It's possible to
create simple script or macro files by
using this option.
Alt-V
Macro management Allows you to create and maintain your
macro key sets. Use this function to
make a different macro key set the
active set.
Alt-U
Command history The terminal records your last ten typed
lines. When you press Enter, it removes
the oldest entry and adds the newly
typed line to the list. You can choose
any one of the ten history entries and
retransmit it to the remote.
Alt-I
Editor Invokes the program defined in the
Terminal.Miscellaneous.Editor field in
SETUP. You will be asked for optional
command line parameters, they are stored
for the remains of your terminal
session. This could also be used to
bring up external protocol menus, etc.
Alt-Z
DOS shell Invokes a temporary DOS shell. Type EXIT
and press Enter to return to the
terminal.
Alt-Q
Quit Depending on how the terminal was
invoked, this will return you to the
mailer's main menu or to DOS. If you're
connected to a remote system when you
press Alt-Q, you will be prompted for
the termination of the connection.
- 72 -
6.1.2 Alt-L Line settings
The line settings menu contains your current communications
parameters. You can't reach the options of this menu unless you
press Alt-L. Most of the options in this menu are self
explanatory, only the not so obvious options are explained here.
Baudrate The current DTE baudrate. If you have
enabled the "Lock port" option, this
field will contain "Fixed" and you will
not be able to change it.
Wraparound Determines whether or not the terminal
should place the cursor on a new line
when it's positioned at the rightmost
position of the screen and a character
is received. This should be set to On in
most situations. There are however
VT100/VT52 applications that require
this setting to be Off. Note that a
CR/LF will force a new line even if this
is set to Off.
Line feed Determines how a received CR character
should be processed. If set to CR, no
expansion is made. If, however, it's set
to CR/LF, the terminal will expand all
received CR characters to CR/LF.
Local echo Some on-line services do not echo the
characters you type. It may be necessary
to enable this option to see what you
are typing. If the on-line service
you're using does echo the characters
you type and you enable this option, you
will get duplicated characters. E.g.
"HHEELLOO!!".
Emulation Allows you to choose between ANSI,
VT100, VT52 and TTY (no) emulation. Note
that the default for ANSI emulation is
to support Avatar sequences. Avatar is a
terminal emulation protocol designed by
George A. Stanislav. It's extremely fast
and very efficient at low-speeds.
Translation tables If enabled, the terminal will use the
terminal translation tables to filter
any received characters.
- 73 -
Auto-Zmodem downloads The terminal monitors received
characters for the special sequence a
Zmodem transmitter sends when a Zmodem
file session is started. If it detects
this start-up sequence, it will
automatically invoke the Zmodem
receiver. If you disable this option,
you must use Alt-G (Download) to receive
files using the Zmodem protocol.
Allow AVT/0 sequences Determines whether or not you want to
accept Avatar emulation sequences when
you are in ANSI emulation. Since Avatar
is based upon certain control
characters, you may want to disable this
option if you are using programs like
Doorway, etc. which frequently transmits
control characters.
- 74 -
6.1.3 Alt-S Session
Alt-C
Capture Allows you to capture characters, as
they appear on the screen, to a disk
file, or logging it to a printer. Since
the terminal filters out NUL characters
(ASCII 0), they will never appear in a
capture file.
Alt-N
Conversation (chat) The conversation functions splits the
screen in half, creating two windows or
sections on the screen. Data received
from the remote system will be displayed
in the top section, while the characters
you type will be displayed in the bottom
section.
Alt-D
Dial Allows you to dial a system in the
nodelist. This function is disabled if
no nodelist files are detected when the
terminal/mailer is started. Note that
you can't queue numbers in the nodelist.
Alt-M
Manual dial Allows you to enter a number manually,
which will then be dialed until you
press the Esc key or a connection has
been made. Note that you can't queue
manually entered numbers.
Alt-X
Disconnect Disconnects the current call and
displays the elapsed time.
Alt-P
Phone directory Brings up the phone directory manager.
Alt-R
Reset timer Resets the on-line timer. The timer is
automatically reset when a new
connection is made.
- 75 -
Alt-B
Scroll back buffer Allows you to view data that has
scrolled off the screen.
Alt-W
Send BREAK Sends a BREAK signal to the modem.
Consult the documentation for your modem
regarding BREAK signals. This is often
used to terminate inquiries to
commercial on-line systems, etc. but can
be treated differently by your modem.
Alt-J
Clear screen Clears the screen and moves the cursor
to the upper left-hand corner.
6.1.4 Alt-O Options
Most terminal emulators and communications packages have a status
line, either at the top or at the bottom of the screen; on which
they display various information about settings and the current
connection. FrontDoor's terminal doesn't have a status line,
hence the options menu.
6.2 Keyboard macros
Depending on how many function keys you have on your keyboard,
you'll have access to 20 or 24 keyboard macros for every macro
set. You can have over 60,000 macro sets defined, but only one
can be active at any time. The macro management function is
reached by pressing Alt-V.
The keyboard macros are located on Shift F1-F10 (12) and Ctrl
F1-F10 (12). When a macro key is pressed, the terminal will send
the data specified as the macro string, uninterpreted, to the
remote system. The two exceptions to this are the tilde (~)
character which forces a one second pause, and the pipe (|)
character which translates into a CR. Neither the tilde, nor the
pipe character is transmitted to the remote system.
- 76 -
6.3 Raw mode
The IBM PC keyboard generates two characters for every key you
press. The first character is called the ASCII code, and the
second character is called the scan code. Only the ASCII code is
transmitted to the remote system by default. There are, however,
some situations which require the terminal software to transmit
both codes. The Avatar emulation protocol and the Doorway
programs both require both codes to identify certain keys,
function and arrow keys in particular.
Once raw mode has been enabled (by pressing the Scroll Lock key),
you can't reach any of the terminal's regular functions. Raw mode
is disabled by deactivating Scroll Lock.
6.4 Keypad modes
The VT100 and VT52 emulation protocols require that the cursor
keys transmit different codes depending on the state of the
remote application. Most on-line services follows the VT100
recommendation for this, but several editors and other programs
have their own ideas of how this should be handled.
If you enable the numerical keypad (Num Lock), the white cursor
keypad will transmit the numerical application codes for
VT100/VT52. If you have an extended (101/102) keyboard, the gray
cursor keys will not follow the numerical keypad setting.
By using the shift key together with the white cursor keypad, you
can negate the setting of Num Lock temporarily. I.e. if Num Lock
is enabled and you press Shift-Up (8), the terminal will transmit
the up key sequence to the remote. If Num Lock is disabled and
you press Shift-Up (8), the terminal will transmit the numerical
application keypad sequence for 8.
6.4.1 PC keyboards
When the remote (host) requests that the terminal enters
numerical application keypad mode, the terminal automatically
enables Num Lock. On extended (101/102) keyboards, this will also
enable the Num Lock LED. The Num Lock LED on IBM-PC (standard)
keyboards will not change by doing this. The Options (Alt-O) menu
should correctly reflect the proper state of Num Lock anyway.
- 77 -
6.5 Alt-P Phone directory
The phone directory allows you to define up to 200 numbers in
addition to those stored in the nodelist database. The terminal
keeps the internal phone directory in a file named TERMINAL.SYS,
which is located in your FrontDoor SYSTEM directory.
The top menu in the phone directory has nine options.
F1
Clear queue Removes the queue (Q) status from all
entries in the phone directory. If no
entries are listed in the queue, no
action is taken.
F2/Enter
Dial Adds the current (highlighted) number to
the queue and proceeds to the dial
function. If no connection is made, the
terminal will proceed to the next number
in the queue. If no other numbers exists
in the queue, the terminal will wait the
defined (in SETUP) number of seconds
before trying again. You can abort
dialing by pressing the Esc key.
F4
Edit existing entry Allows you to change an existing entry.
F6
Purge Removes all entries marked for deletion
(small square) from the phone directory.
There's no way to recover a removed
entry, so use this option with caution.
F7/Space
Toggle queue status Adds/removes the current (highlighted)
number to the queue.
F8
Sort/purge This option is similar to the purge (F6)
option with one difference. It will sort
the phone directory in ascending order,
based on the name field.
Ins
Add entry Allows you to add a new entry to the
phone directory.
- 78 -
Del
Mark for deletion Marks an entry for deletion (small
square). No other action is taken. You
must use the F6 or F8 function to remove
entries marked for deletion.
6.5.1 Queue status
The queue status is only retained while you are in the phone
directory. Once you return to the terminal, the phone directory
is removed from memory.
6.5.2 Adding/changing entries
When you press F4 (Edit) or Ins (Add), the edit screen will
appear. Press Enter to save the entry and Esc to abandon the
entry/changes.
6.6 Inactivity timer
If you aren't connected to another system, the terminal function
will be terminated automatically after ten minutes of inactivity.
The timer is reset if data is received from the modem or press
any key.
6.7 File transfers
When you transmit or receive files in the terminal, it will
automatically set the line parameters to no parity, eight data
bits and one stop bit. Once the transfer is completed, the line
parameters will be reset to whatever values they had prior to the
transfer.
6.8 On-line timer
The on-line time displayed in the Options (Alt-O) menu shows the
elapsed time of the current connection in hours and minutes. It
isn't intended as a precise mechanism for cost calculations, etc.
but will give you a rough estimate of the time you've spent on-
line.
- 79 -
- 80 -
Chapter 7
Miscellaneous
This chapter contains functions and options that are global to
the whole FD package.
7.1 Destination of messages
When you are prompted for an address and/or SysOp name for a
message, you can use the look-up function. This is true for both
the mailer, the editor and the terminal. The editor only allows
you to use the look-up function for messages written in the
netmail folder.
You don't have to use the look-up function, of course. You can
enter a short form address, such as 10 (for node 10 in your own
net), .1 (for point one in your own point net) in which case the
SysOp's name is taken from the nodelist data. This is one of the
most flexible functions in the FD package.
7.1.1 Name lookups
If you specify "Homrig" as the destination, you will be prompted
to select from a list of all users with a last name matching
"Homrig" (Homrighausen for example). The network address will
also be taken from the name you select.
- 81 -
7.1.2 Address browsing
To enter the address browse mode, specify an incomplete address,
such as "1:?", "1:135/?" or "1:135/20.?". You can then browse
through all zones, regions, networks and pointlists known to your
system. If you press Enter (and the input field is blank) when
you are prompted for an address, you will be placed in browse
mode in your own net.
7.1.3 Address macros
You can also create a file containing short names which expands
into a full address/SysOp name. The macros are located in a file
called NAMES.FD which must be placed in the SYSTEM directory.
Here's an example of my NAMES.FD:
am,AreaMgr,20
jps,Peter Stewart,.2
jon,Jon Schneider,7:766/23
rick,Rick Petersen,381/30
flx,felix kasza,2:310/11
As you can see, all addresses are (as usual) listed in short
form. To use an address macro, put an asterisk (*) followed by
the name of the macro. I.e.
*flx
Would expand to "felix kasza, 2:310/11". The address macro
function can be used in carbon copies as well.
7.2 File requests
When you want to request files from other systems, you may have
to supply a password to the remote system for certain files. To
do this, add a space after the filename/mask you're requesting
followed by !<password>. E.g. To request the file "BETAFD.ZIP"
from 1:1234/5678 with a password of "BETA", you would enter:
betafd.zip !beta
This format applies to both the mailer and the editor.
- 82 -
7.2.1 Update requests
An update request is very similar to a file request with one
difference. An update request will force the remote to send the
matching files if they are newer than the matching files on your
system. To make an update request of the file C:\FILES\FD.ZIP,
you would put:
C:\FILES\FD.ZIP
The editor has a separate status bit to indicate an update
request while the mailer automatically determines if it's an
update request or plain file request you are entering (by looking
for absolute path specifications). You can supply passwords to
update requests the same way you do for file requests.
7.3 Swapping
Both the editor and mailer requires well over 130KB of RAM. If
you shell to DOS, or load another program from the mailer, this
memory is not freed. The FD package allows you to swap out the
memory used by the mailer and editor, either to LIM/EMS memory or
to a disk file. If you have specified that you want the programs
to use LIM/EMS memory for swapping but don't have any, or
sufficient LIM/EMS memory, the swap image is written to disk. The
swap file is placed in the SYSTEM directory and removed when you
return to the program.
If you enable swapping for the mailer, it will be swapped out
when you invoke a DOS shell and when you invoke other programs.
The mailer swap setting also affects the terminal. The terminal
will not flush its scroll-back buffer to disk if any type of
swapping is enabled for the mailer.
Once the swap image has been created and written to LIM/EMS
memory or a disk file, all used (by the mailer/editor) memory is
freed except 2KB which will always remain in memory.
7.4 CRT environments
All programs in the FD package are screen environment aware and
most of them can adjust to most (if not all) screen sizes as long
as the current screen mode has 80 or more columns (across). If
you have an EGA or VGA card that allows you to set the screen
mode to something like 132x28 and you want to use this in the
editor or mailer (or terminal), you should specify that you only
want to use 25 lines in SETUP. This will prevent the programs
from altering the screen mode.
- 83 -
- 84 -
Chapter 8
Mail routing
This is one of the most complex parts of the FD package and takes
time to learn and understand. Make sure you understand how each
routing verb affects mail routing before you use them.
When the mailer is brought up, it scans for any active events and
if one is found, opens the route file, ROUTE.FD, and uses it to
determine whom to send mail to, and how to send it. The route
file must be placed in the SYSTEM directory.
If the timestamp of the route file is modified, the mailer will
detect it and re-scan its message base.
Global routing verbs are those that appear before any SCHEDULE
keyword in the route file. They are always used, so you can
specify routing that's identical for all your events here.
Local routing verbs are those that appear between two schedule
keywords in the route file. The mailer determines which schedule
"block" to use by searching for a schedule keyword with a tag
(letter) matching the current event tag.
Several references are made to hold status in this chapter. Do
not confuse this with the HOLD route verb. The hold status refers
to the message status bit.
The mailer allows you to insert comments in your route file.
Every line with a semicolon as the first non-space (TAB/space)
character is treated as a comment. While comments may seem
inadequate at first glance, it's a very useful function. Going
back to a route file you wrote five months ago may not be your
definition of spending a weekend in joy and happiness.
Addresses specified in the route file can be listed in short form
and the ALL macro is fully supported. To list several systems in
a net after each other, you only have to specify the network
number for the first entry. You can also use nodelist flags to
specify a range of systems.
The routing language is completely case insensitive. SCRIPT,
script, and ScRiPt are all treated as the same command.
- 85 -
8.1 Default routing
The mailer has several default rules for routing that will be
used if no other rule has been defined for a specific message.
Some of the default rules can't be overridden by routing verbs.
8.1.1 Message status
Messages with immediate (IMM hereafter), crash, file request,
update request and direct status will NEVER be routed, they are
always sent directly to the destination system.
Messages with IMM or crash status can never be held by using the
HOLD keyword. Messages with crash status can, however, be
prevented from being sent by event behavior or qualification
lists, but never held with the HOLD route verb.
Messages with hold status will NEVER be packed into a mail
packet. Messages with hold status can always be picked up by the
destination system. Messages to points with hold status can and
will be picked up if the boss of the point calls to pickup mail,
unless the message also has direct status.
Messages with IMM status will always be packed into mail packets,
overriding ANY event restrictions. If you have a message with IMM
status, the mailer will add all other qualifying messages to the
same system to the same mail packet.
Messages with received (read), orphan, lock, and/or sent status
are ignored by the mailer.
- 86 -
8.1.2 Host/hub routing
Messages not otherwise prevented from being routed will by
default be sent to the destination system's HOST if the
destination system is outside your own net and to its HUB if it's
within your own net.
If you have mail for a system listed as down in your nodelist
database, it will never be packed. If the down listed system
calls your system to pick up mail, it will receive its mail.
If you have mail for a system listed as hold or pvt (no telephone
number) in your nodelist database, the default behavior is to
send the mail via the system's host/hub. If the mail to a hold or
pvt listed system contains file attaches, the mail packet will by
default be placed on hold for the host/hub.
Messages to systems not in your nodelist database (unlisted
systems) will not be host/hub routed by default, but they can be
routed by using route verbs.
Messages with crash, IMM or direct status, destined for points to
which the mailer can't place a call directly will retain its
status (and restrictions), but the mailer will instead assume the
point system's BOSS as the destination.
8.1.3 Qualifying systems
Before the mailer will send mail to a system, it must be
qualified by specifying its address, or a macro that includes its
address in a SCHEDULE block (this is not true for IMM mail as
previously described).
You can qualify a system by placing a SEND-TO statement in the
global section of a route file, but this is NOT RECOMMENDED.
SEND-TO, POLL and the optional SEND-LIST after a schedule command
are the only available methods to qualify a system for mailing.
- 87 -
8.2 Route commands
SCHEDULE <TAG> [SEND-LIST]
Defines the start of a schedule block. All commands
following a schedule command are considered a part of the
same block until another schedule command is encountered.
TAG is a letter corresponding with the event tag, defined in
SETUP. You should only have one schedule block per defined
event tag.
The optional SEND-LIST parameter should contain the systems
to qualify for the event.
SEND-TO <SEND-LIST>
Qualifies the specified systems. This is identical to the
optional SEND-LIST after the schedule command.
HOLD <LIST>
Hold mail for the specified systems. Held mail can later be
routed with a ROUTE-TO command.
UNHOLD <LIST>
The opposite of HOLD. Useful if you have global HOLD
statements and want to negate the effect of those statements
for one or more systems.
NO-ROUTE <LIST>
Send mail to the specified systems directly. This overrides
the default routing rules.
ROUTE-TO <TARGET> <LIST>
Route mail (excluding file attach messages) for the
specified systems through TARGET. The TARGET system must
have been qualified for this to work.
- 88 -
HOST-ROUTE <LIST>
Route mail (excluding file attach messages) for the
specified systems through their HOST system.
HUB-ROUTE <LIST>
Route mail (excluding file attach messages) for the
specified systems through their HUB system.
ROUTE-FILES <TARGET> <LIST>
Route file attach messages (excluding normal mail) for the
specified systems through TARGET. The TARGET system must
have been qualified for this to work. You should ask the
SysOp of the TARGET system if he allows you to route files
through his system before using this command.
POLL <LIST>
Force the mailer to call the specified systems even if
there's no other mail destined for them. This does not
effect the routing of existing mail destined for the
specified systems. The POLL command unconditionally
qualifies a system for mailing. Each system in LIST will
only be called once, if an event is restarted, the mailer
will not call systems that it has already polled.
EXCEPT <LIST>
Specifies an exception to the LIST of the previously used
command. Multiple lines with EXCEPT are supported.
- 89 -
FORWARD-FOR <LIST>
Tells the mailer that you allow the specified systems to
send mail (excluding file attach messages) through your
system. Note that this doesn't place any restrictions of the
destination of the forwarded mail.
FORWARD-TO <LIST>
Tells the mailer that you allow mail (excluding file attach
messages) to be forwarded through your system ONLY if it's
destined to any of the specified systems. This is a more
secure option to the FORWARD-FOR command.
FILES-FOR <LIST>
Identical to FORWARD-FOR, but for file attach messages.
FILES-TO <LIST>
Identical to FORWARD-TO, but for file attach messages.
DENY <LIST>
Allows you to prevent the specified systems from picking up
waiting mail. The mailer will still accept incoming mail
from the specified systems. This can be used to prevent
local (or other low-cost) systems from picking up their mail
in national mail events, etc.
SCRIPT <SCRIPT FILE> <LIST>
Tells the mailer to use the SCRIPT FILE when calling the
specified systems instead of the telephone number (if any)
in your nodelist database. Scripts are explained in a
separate chapter.
NO-SCRIPT <LIST>
Prevents the mailer from using default script handling for
the specified systems. Scripts are explained in a separate
chapter.
- 90 -
8.2.1 LIST specifications
You can use a variety of formats to specify a list of systems for
a route verb. A few follows:
ALL All systems
1:ALL All systems in zone one
1:135/ALL All systems in zone one, net 135.
MYNET/ALL All systems in your own net. Note that
the result of this format depends on
which AKA you have specified in the
definition of the event.
1:135/1 10 20 1:135/1, 1:135/10 and 1:135/20.
.1 .2 .3 .4 .5 Your point one, two, three, four and
five.
8.2.2 Using nodelist flags
When you specify system LISTs to a route command, you can use
nodelist flags in place of address information. Most of the
available mail- and system related nodelist flags are supported
by the mailer. You can mix flags and address information as you
wish. A few follows:
HST CM All systems with HST or CM in their
nodelist entry.
!HST All systems that DON'T have HST in their
nodelist entry. The ! character negates
the meaning of a flag.
!HST !CM All systems that DON'T have HST or CM in
their nodelist entry.
1:135/20 HST CM 1:135/20 and all other systems with HST
or CM in their nodelist entry.
8.2.3 File routing/forwarding
FILES-FOR and FILES-TO will mark all in-transit (not destined for
your system) file attach messages as Del/Sent (delete attached
files after sending). If you receive the same file destined for
two different systems, the file will not be removed until it has
been sent (or picked up) to both systems.
- 91 -
8.2.4 Message forwarding
When the mailer unpacks received mail packets, it will always
mark messages as in-transit if they're not destined for your
system (including any AKAs). These messages can be forwarded by
using FORWARD-FOR and FORWARD-TO, but the mailer will under NO
circumstances forward mail automatically to systems unless one or
both of these two commands are used.
8.2.5 Multiple zones
If you are operating under more than one AKA listed in different
zones, it's important to explicitly specify a zone for address
information in the route file.
8.2.6 Examples
Here are a few examples of route files and how to use route
commands:
schedule A ALL
route-to 2:310/11 2:all
hold 2:310/11 !CM !HST
This qualifies all systems for mailing. Routes all mail destined
for zone two through 2:310/11. Holds mail for 2:310/11 (including
the routed mail) and any systems that doesn't have the CM or HST
flags in their nodelist entry.
schedule D MYNET/ALL
This qualifies all systems in your own net and uses default
routing. Remember that MYNET can have a different value depending
on which AKA you have specified for the event.
schedule A
send-to 1:all 2:all 3:all
route-to 2:310/11 2:all
except 2:201/110
route-to 3:632/348 3:all
deny mynet/all
This qualifies all systems in zone one, two and three. Routes all
mail destined for zone two through 2:310/11 except for mail
destined to 2:201/110. Routes all mail destined for zone three
through 3:632/348. Prevents systems in your own net from picking
up their mail.
- 92 -
schedule B ALL
hold ALL
except 2:all
no-route 2:all
This qualifies all systems. Holds all mail except mail destined
for systems in zone two. Sends mail destined for zone two
directly to its destination.
hold ALL
schedule D MYNET/ALL
unhold MYNET/ALL
schedule A 1:ALL
unhold 1:ALL
This holds all mail by default (the HOLD command is in the global
section). Schedule D sends mail to all systems in MYNET. Schedule
A sends mail to all systems in zone one.
8.2.7 Dynamic packing
Whenever a mail event is started, the mailer scans the messages
in the netmail folder and possible packets are built. Messages
that does not qualify to be processed will not be packed (but
kept in the internal list). If a system calls in, the mailer will
scan the message list stored in memory and create a mail packet
on the fly and immediately send it to the calling system. So mail
is always available, 24 hours/day.
This means that your system doesn't have to be in an event for
other systems to pickup their mail. Note that you can prevent
systems from picking up their mail with the DENY command and by
modifying an event's behavior.
8.2.8 Regarding points
Points of other systems are always treated as their boss system
unless you explicitly specify the boss or a point. To ONLY
reference a boss system, without referencing its points, use .0
(e.g. 1:135/20.0).
- 93 -
- 94 -
Chapter 9
EMSI
EMSI or "Electronic Mail Standard Idenfication" is a handshake
method developed by Joaquim H. Homrighausen and Chris Irwin
(author of D'Bridge). It provides features and flexibility that
other handshake methods, such as FTSC-0001 and FTSC-0006 (YooHoo)
doesn't offer.
The two major advantages of the EMSI handshake method is the
ability to pickup mail for all your AKAs in one call, and
unlimited expansion of the data (handshake packets) exchanged
when a session is negotiated. I won't go into any technical
details about EMSI here, I will, however, describe the handling
of the multiple AKAs.
The EMSI handshake is supported by D'Bridge 1.30+, AirMail 1.00,
and FrontDoor 1.99c+. I expect other packages such as BinkleyTerm
and TrapDoor to to add support for it as soon as I've released
the specifications. EMSI does not interfer with other handshake
protocols such as FTSC-0001 and FTSC-0006.
9.1 Passwords
If you have established or wish to establish a session level
password for a certain system, you must make sure that you have
entered all AKAs of that system in the security manager. All
entries must have the same password.
For example, let's assume you want to establish a session level
password with 1:135/142 which is also 26:1305/142. You should add
both 1:135/142 and 26:1305/142 in the security manager and use
the same password for both entries.
- 95 -
9.2 Mail
Using the same example, if you have mail for both 1:135/142 and
26:1305/142, all mail (for both addresses) would be delivered
during the same session. This is true for both inbound and
outbound connections.
If you know that a system is EMSI capable and you have regular
mail traffic with more than one of its AKAs, you can HOLD mail
for the system's other AKAs and only allow the mailer to call one
of the addresses. When the session is established, all of the
remote system's AKAs are processed.
This probably sounds more confusing than it really is. So to make
a long story short, make sure you have the "Present all AKAs to
remote" option enabled (Mailer>Miscellaneous) and play it by ear.
- 96 -
Chapter 10
Script language
The script language provides an alternative method of calling a
system (instead of calling it directly with the telephone number
listed in your nodelist database). A script file is used where
you have to, or prefer to, connect to another system indirectly.
I.e. you will not be calling it by dialing its number directly.
This could be through X.25 or PC Pursuit.
The script file must be a plain vanilla ASCII file. A semicolon
(;) may be used as a comment character, making FrontDoor ignore
everything following the semicolon on the same line. FrontDoor
is not case sensitive when interpreting the script file.
The route file can be used to specify that a script should be
used for one or more nodes by entering:
SCRIPT <SCRIPT FILE> <LIST>
(see Mail routing). The command may be global or local to a
specific event's schedule block. If you are using PC Pursuit, you
can use a generic script file for all PC Pursuitable nodes. See
PCP SCRIPTS.
- 97 -
10.1 What can I do with it?
The script language consists of a number of commands that allows
you to send characters to the modem, wait for responses from the
modem or the remote system/network that you are using, and
trigger different actions depending on the responses you get.
The versatility of the script language is further enhanced by the
use of so-called labels to execute different parts of the script
depending on a specific situation. The script language can be
seen as a simple programming language for controlling the way the
mailer or terminal makes a call.
10.2 Commands
SEND <STRING>
Sends a series of characters to the modem or the remote system.
Everything following the SEND command on the same line will be
sent. Control characters may be entered using mnemonics, e.g.
<CR>. In addition, <CR> (carriage return) may be sent by using
the pipe (|) symbol. The string will be sent exactly as entered,
with no case conversion.
DIAL <NUMBER>
Sends NUMBER, preceded by the dial command specified in SETUP's
modem section. Control characters may be entered in the same
manner as with the SEND command.
SETPORT <BAUD> <DATABITS> <STOPBITS> <PARITY>
Sets the communications port to the specified parameters. BAUD
can be any value supported by the hardware between 300 and 9600
baud. At no time will the baudrate be set to a higher value than
the the highest supported speed of the destination system, or the
baudrate of the outbound node in a PC Pursuit script. DATABITS is
7 or 8. STOPBITS is 1 or 2. PARITY is NONE, ODD or EVEN. In
addition, a value of -1 means that the previous setting for that
parameter should be retained.
- 98 -
PROVOKE <STRING>
Keeps sending STRING with an interval of one second, until any
character is received from the remote system, or until a timeout
occurs (see TIMERSET), or until interrupted by the user. Control
characters may be entered in the same manner as with the SEND
command.
TIMERSET <SECONDS>
Sets the timer for fatal timeouts while waiting to receive
something from the remote system. The default is 120 seconds (two
minutes). The maximum value is 300 seconds (five minutes), and
the minimum is 0.
DEBUG <ON|OFF>
Sets debug mode on or off. In debug mode, all characters received
while waiting for one or more strings will be displayed. When
you're not using debug mode, only the string that matched a
pattern will be displayed. Similarly, in debug mode all strings
sent to the modem/remote system will be displayed, whereas FD
will only say "Sending string" when not using debug mode. It's
recommended that you enable debug mode while developing and
testing a script.
WAIT <SECONDS>
Makes the script wait a for SECONDS seconds before continuing.
WAITFOR <STRING>[|<STRING>|<STRING>..]
Forces the script function to wait for one or more specified
strings or until a timeout occurs (see TIMERSET). Each string
must be separated with a pipe (|) character. Control characters
may be entered in the same manner as with the SEND command. Of
the specified strings, only the first will signify success, the
other strings will immediately terminate the script with failed
status. The string comparison is case sensitive, and requires an
exact match.
- 99 -
CASE / ENDCASE
Starts and ends a CASE statement, respectively. CASE is a more
flexible variety of WAITFOR. Each line after CASE must start with
a string that the script should wait for, followed by a colon and
one or more script commands, or a label jump directive (see
LABELS).
If the string consists of more than one word, it must specified
between quote characters ("). The CASE statement is ended with
the command ENDCASE on a separate line.
When a matching string has been received from the modem or the
remote system, the command on the same line will be executed. If
the command consists of a label jump instruction, the script will
continue from the specified label position. If it is one or more
script commands, they will be executed, and the script will
continue from the line following the ENDCASE statement, unless
the command terminates the script (see below under SESSION and
FAIL).
The string comparison is case sensitive, and requires an exact
match. A short example follows.
CASE ; comments:
CONNECT : session ; connect
BUSY : >redial
"NO CARRIER" : >redial
VOICE : fail
@NOCARRIER : fail ; carrier lost
@DEFAULT : fail ; timeout
ENDCASE
@NOCARRIER Tests the presence of carrier in a CASE
statement.
@DEFAULT May be used to specify a default course of
action if a timeout occurs in a CASE
statement.
SESSION Terminates the script with success status,
leading to a mail session. It is NOT
necessary to have a SESSION command in script
files used to connect to another system in
the terminal. The SESSION command is only
used to establish mail sessions.
FAIL Terminates the script with failed status. No
mail session will be initiated.
- 100 -
PURGEIN
Purges the inbound buffer, getting rid of any pending characters.
PURGEOUT
Purges the outbound buffer, getting rid of any pending
characters.
RETRYCOUNT <RETRIES>
Provides a means of incrementing and checking a predefined retry
count variable. If the retry count exceeds RETRIES, the script is
terminated with failed status, otherwise the count is incremented
with 1. The retry count does not include the first attempt.
CLEARCOUNT
Clears the predefined retry count variable, resetting it to 0.
MAX2400 <COMMANDS>
MAX1200 <COMMANDS>
Commands following on the same line will only be executed if the
max baudrate for the session is 1200/2400. The maximum baudrate
for a session is calculated as the maximum baudrate supported by
the remote system, by the outbound node (if using PCP), or by
your own modem, whichever is lowest.
E.g. MAX2400 setport 2400 -1 -1 -1
MAX1200 setport 1200 -1 -1 -1
@OUTBOUND
Used to insert the name of an outbound PC Pursuit node in a
string. The contents of @OUTBOUND is undefined if used in any
other script than PCP.SCR.
E.g. send C @OUTBOUND,ABC12345<CR>
- 101 -
@LOCALNUM
Used to insert the local telephone number in a PC Pursuit script.
The contents of @LOCALNUM is undefined if used in any other
script than PCP.SCR.
E.g. send ATDT@LOCALNUM<CR>
ENDNODE
Terminates a "node block". See NODE BLOCK.
UPLOAD <PROTOCOL> <FILESPEC>
Transmits the files matching FILESPEC to the remote, using the
PROTOCOL transfer protocol (X=Xmodem, T=Telink, Z=Zmodem).
FILESPEC may include wild-cards characters for all protocols.
This command is only available in the full version.
E.g. upload Z C:\FILES\FD*.LZH
DOWNLOAD <PROTOCOL> <PATH>
Receives one or more files from the remote, using the PROTOCOL
transfer protocol (X=Xmodem, T=Telink, Z=Zmodem). PATH must be a
complete filename for Xmodem transfers and a valid directory for
Zmodem and Telink transfers. This command is only available in
the full version.
E.g. download Z C:\INFILES\
download X C:\INFILES\FUN.LZH
DISCONNECT
Unconditionally terminates a call (if any) from within a script.
Script execution will resume as soon as the carrier (CD) signal
has been lost; the script function lowers DTR to disconnect. This
command is only available in the full version.
- 102 -
10.2.1 Labels
A label is used to define a position in the script, so that it
may be used as a jump destination. The label can consist of any
word, starting with a letter from A to Z, except the above script
commands, and must be preceded by a colon.
At the position in the script where you want to execute a jump to
the label, you enter the label name preceded by a greater than
sign (>).
E.g. ..
..
:redial
send ATDT@LOCALNUM<CR>
CASE
CONNECT : session
BUSY : >redial
@default : fail
ENDCASE
10.2.2 Node block
A node block is a special type of label. It starts with a node
number preceded by a colon, and all the commands from the first
line to the ENDNODE statement that ends the nodeblock will only
be executed if you're currently calling the specified node.
E.g. ..
..
:135/20 ; start of node block
send ATZ<CR>
ENDNODE ; end of node block
- 103 -
10.3 PC Pursuit
You can use a generic script for calling all PC Pursuitable
nodes, taking advantage of the specific PCP commands @OUTBOUND
and @LOCALNUM. This requires that the script file is named
PCP.SCR and is placed in the SYSTEM directory. You must also
compile the nodelist with the file PCP.DAT, containing a list of
all pursuitable exchanges, present in the NODELIST directory.
If you have followed these steps, the PCP script file will be
used automatically when FrontDoor finds that a node is
pursuitable. You will probably wish to prevent FrontDoor from
using the PCP script in the daytime on weekdays. A special route
command, NO-SCRIPT, exists specifically for this purpose. For
further information, see Mail routing.
10.3.1 How do I update PCP.DAT?
The file PCP.DAT is a somewhat modified version of the file
provided by Telenet's BBS. We take no responsibilities whatsoever
regarding the contents of the PCP.DAT file supplied with
FrontDoor. To update it, you must issue CONNECT PURSUIT from
PCP's command prompt and log-on to their BBS. The file that you
want to download is called EXCHANGE.TXT (or EXCHANGE.ARC). Should
you update this file, you MUST make sure that your files follows
the same format as the file supplied with FrontDoor.
- 104 -
10.4 MNEMONICS
The following mnemonics may be used to enter control characters
in the script, both for sending and receiving. They can be used
with the following commands: SEND, DIAL, PROVOKE, WAITFOR, and
CASE.
ASCII MNEMONIC : ASCII MNEMONIC
----------------------+----------------------
0 <NUL> : 17 <DC1>
1 <SOH> : 18 <DC2>
2 <STX> : 19 <DC3>
3 <ETX> : 20 <DC4>
4 <EOT> : 21 <NAK>
5 <ENQ> : 22 <SYN>
6 <ACK> : 23 <ETB>
7 <BEL> : 24 <CAN>
8 <BS> : 25 <EM>
9 <HT> : 26 <SUB>
10 <LF> : 27 <ESC>
11 <VT> : 28 <FS>
12 <FF> : 29 <GS>
13 <CR> : 30 <RS>
14 <SO> : 31 <US>
15 <SI> : 32 <SP>
16 <DLE> :
----------------------+----------------------
- 105 -
- 106 -
Chapter 11
Nodelist
The nodelist refers to the nodelist database, a set of files with
information about other systems. Their system address, telephone
number, maximum supported baud rate, etc. The FD package doesn't
require a nodelist to operate. If you want to send mail, however,
a nodelist is required.
The nodelist that FrontDoor need to process is often referred to
as the raw nodelist. Meaning it should not have been processed by
Xlatlist, Parselst or a similar utility; but only be the nodelist
you receive each week (if you are a FidoNet node) from your host.
Grab a somewhat recent version of a nodelist and decompress it.
Place the resulting file (such as Nodelist.288) in the NODELIST
directory. Create a file called FDNODE.CTL with your favorite
text editor and place it in the same directory. You can also use
the sample file included in the FD distribution package and
modify it to suit your needs.
11.1 FDNODE.CTL
FDNODE.CTL is the nodelist compiler's, FDNC hereafter, control
file. It's used to control how FDNC processes the nodelist files,
for dial translation and cost calculation. The order of commands
doesn't matter. All commands are case insensitive.
POINTLIST <FILENAME> [BOSS]
This option allows you to add points to your nodelist database.
The optional BOSS address is required if FILENAME doesn't contain
a BOSS entry and should not be specified if FILENAME contains a
BOSS entry.
If you only have one file with point entries, you can use
FDPOINT.PVT. FDNC will automatically use it if it's found in the
NODELIST directory. Note that if you use one or more POINTLIST
statements, FDNC will merge all specified files into FDPOINT.PVT,
overwriting its contents. A separate chapter discusses the point
concept.
- 107 -
PVTLIST <FILENAME> [ZONE]
Similar to the POINTLIST command, but FILENAME contains one or
more regular nodes. The optional ZONE number is required if
FILENAME doesn't contain a ZONE entry and should not be specified
if FILENAME contains a ZONE entry. FDNC accepts the POINT keyword
in private nodelists.
If you only have one file with additional node entries, you can
use FDNET.PVT. FDNC will automatically use it if it's found in
the NODELIST directory. Note that if you use one or more PVTLIST
statements, FDNC will merge all specified files into FDNET.PVT,
overwriting its contents.
Note that FILENAME for POINTLIST and PVTLIST may contain wild-
card characters (* and ?). FDNC will use the most recent (by
comparing the timestamp of the matching files) file.
SWEPULSE
This command was added to handle the somewhat screwed up method
Swedish exchanges handles pulse dialing. Most modem manufacturers
uses the British standard for pulse dialing, which is not
compatible with Swedish pulse dialing. If you use SWEPULSE in
FDNODE.CTL, telephone numbers will be properly translated. Do NOT
use this command unless you live in Sweden and have to use pulse
dialing.
PHONE <ADDRESS> <TELEPHONE NUMBER>
Some systems are listed as PVT (private) in the nodelist, in
which case there's no telephone number available (the text -
Unpublished- is used in place). This, of course, means that the
mailer can't call a system listed as PVT. If you have the phone
number of a PVT listed system, or wish to override the telephone
number listed in the nodelist, you can use the PHONE command.
ADDRESS is a fully qualified address (e.g. 1:135/20). TELEPHONE
NUMBER is a untranslated (raw) telephone number (e.g.
1-305-596-2904).
If the PHONE command is used, FDNC will remove possible DOWN,
HOLD and PVT flags for the specified system.
- 108 -
USE ZONE <ZONE>[<ZONE> <ZONE>..]
This command controls which zones FDNC should include in the
nodelist and username index files. The default is to include all
encountered zones. This does not affect the contents of raw
nodelist files, only what information ends up in the nodelist and
username index files.
DIAL <NATL PREFIX>/<SUFFIX> <INTL PREFIX>/<SUFFIX>
Indicates the start of the dial translation table. All four
parameters are optional and are only used if no other translation
applies for a telephone number.
If you only want to use a national (NATL) prefix/suffix, you must
specify the / character for the international (INTL)
prefix/suffix to indicate no special treatment. The same applies
if you only want to use an INTL prefix/suffix.
; prefix
; prefix/suffix
; /suffix
;
DIAL / 10288-011- ; Add INTL prefix to all INTL
; numbers.
1-305-596 596 ; My local exchange.
1-305 1 ; Remaining numbers in area 305.
46-8 /391 ; Append (suffix) 391 to all
; numbers in Stockholm Sweden.
END
END is required to terminate the dial translation table.
If you need to strip the search value from a number, you don't
have to put anything after it. In other words, if you need to
strip 1-305-596 from all number, you enter that string with no
translation. Comments are ignored and must be preceded by a
semicolon.
- 109 -
DIAL 12345-1- 10288-011-
..
..
END
Would add (prefix) 12345-1- to all NATL numbers not
otherwise translated. It would add (prefix) 10288-011- to
all INTL numbers not otherwise translated.
DIAL /2222 10288-011-/1111
..
..
END
Would append (suffix) 2222 to all NATL numbers not otherwise
translated. It would add (prefix) 10288-011- and append
(suffix) 1111 to all INTL numbers not otherwise translated.
The translation values (strings) doesn't have to contain number
characters (0-9,.-). They can include commands such as "S25=100"
etc. as long as your modem supports it.
COST <NATL COST> <INTL COST>
Indicates the start of the cost table. The two (default)
parameters are NOT optional. The default cost only applies to
numbers with no matching entry in the cost table.
COST 50 150 ; NATL default: 50 INTL: 175
1-305 30 ; Numbers in area 305..
1-305-596 0 ; ..except for my local exchange
46 110 ; Sweden
END
An additional parameter can be added after the cost for a number
entry indicating the maximum baud rate used. This is useful when
calling locations with a lot of line noise etc. Please note that
this doesn't work with several high-speed modems such as the US
Robotics HST. You can't force a HST modem to connect at 2400 with
another HST modem by changing the baud rate.
- 110 -
MODEM
Indicates the start of the special modem string table. When a
call is placed, this table is scanned for possible matches. If
one or more matches are found, the specified strings are sent to
the modem before any of the dial strings (commands) are sent.
MODEM
HST AT&M5|
PEP ATX4|
1:135/10 ATX4|
END
The search value can contain nodelist flags or complete
addresses. No short form addressing is accepted. The ! character
(see Mail routing) in front of a nodelist flag is NOT supported.
Note that the MODEM look-up is NOT performed when the mailer
calls a system by using a script file.
The length of the string to send to the modem must not exceed 50
characters. The whole table is always searched, from top to
bottom. All matching search values will result in the mailer
sending the specified string to the modem.
11.2 Compiling the nodelist
To compile your nodelist, type FDNC and press Enter, or invoke
the nodelist compiler from the mailer's main menu (Alt-N).
When the nodelist compiler is started, it will compare the date
of the raw nodelist and its index files. If the dates match, and
no update has been made to FDNODE.CTL, no compilation will be
made and the program will ask "Nodelist files are up-to-date,
compile anyway?".
If you want to force compilation, run FDNC with the -f command
line switch.
- 111 -
- 112 -
Chapter 12
FDServer
The mailer has a function referred to as FDServer. It can be used
to perform functions on your system from a remote site, such as
moving and copying files, etc. FDServer is a very powerful
function and the examples given in this chapter are only some of
the things you can do with it.
FDServer is activated by specifying a password in SETUP. FDServer
requests will be ignored if no password has been specified in
SETUP.
FDServer requests are processed after a mail session has been
completed and the call has been terminated, so everything you
specify in request message is processed off-line.
12.1 What is a FDServer request?
A FDServer request is a message, addressed to FDServer (case
doesn't matter) on your system, with commands. Think of it as a
remote, but controlled, DOS shell. You can run almost any program
and perform any DOS function from a FDServer request.
The FDServer function has some limitations, however.
You can't use the DOS command ECHO in a FDServer request.
Programs that require local keyboard input shouldn't be
executed from a FDServer request since these program(s) will
just sit and wait for keyboard input.
FDServer request messages must NOT be compressed (ARCmail,
etc.). The function is only triggered if the mailer unpacks
the request message.
Batch (.BAT) file labels are not supported.
- 113 -
12.2 Request message
Each line of the message is considered a command and blank lines
are ignored. When FDServer has executed all commands found in the
message, it will change drive and directory to where it was
before processing your request and return to the mailer.
12.2.1 Internal commands
Lines beginning with a % character are internal FDServer
commands.
%logall Will create one line in the log file for
each command that was executed along
with the status (err: or exe:).
%nologerr Normally, all commands that generated an
errorlevel will be logged, this can be
disabled with this command.
%store After a request is processed, it will be
deleted by default. This can be disabled
by putting this command in the message
which will force FDServer to mark the
messages as received.
12.3 Using it
You're sitting in front of your computer at home, working with a
report or something similar and find that you need some files
from the office machine.
Assuming that these files contain information that is very
sensitive or confidential, and even though you have the option to
protect your file requests with a password, you may still not
want to have the files semi-accessible. This is where you can use
FDServer.
The directories and file names used in this example were thought
up and does not necessarily match the setup on your machine.
- 114 -
Create a message addressed to FDServer on the node you want to
call and send it.
By: joaquim homrighausen, JoHo's Home (1:135/20.1)
To: fdserver, My Office (1:135/20)
Re: password
----------------------------------------------------
%nologerr
cd \TEMP
copy C:\LOTUS\THA*.SPS
lharc a THA THA*.SPS
erase *.SPS
copy THA.LZH C:\REQUEST\FORNOW
erase THA.LZH
The server function will read the message and execute each line.
The next step would be to create a new server request containing
the following:
By: joaquim homrighausen, JoHo's Home (1:135/20.1)
To: fdserver, My Office (1:135/20)
Re: password
----------------------------------------------------
%nologerr
erase C:\REQUEST\FORNOW\THA.LZH
And send it along with a file request for THA.LZH. The mailer
will process the file request first, and when the mail session
has been completed, the newly created server request will be
processed by FDServer.
12.4 Keeping calls to a minimum
You could avoid the extra phone call in the example with the
request if you have a robot utility such as XRobot (by Joaquim H.
Homrighausen) and create a file attach with the files you need so
the mailer will call you back.
12.5 A word of caution
If you don't need to use FDServer, DON'T define a password for it
in SETUP. Since FDServer is a VERY powerful function, the results
could be disastrous if someone got hold of your FDServer
password.
- 115 -
- 116 -
Chapter 13
Service requests
Service requests is a very powerful function of the mailer. It
allows you to use the mailer as a front-end to databases, to make
on-line inquiries etc. without having to manually call the system
with a terminal program.
13.1 Service requests vs FDServer
The difference between a service request and a FDServer request
is that they are processed while two systems are connected. This
has the drawback of being slightly more expensive, but it offers
a much greater flexibility than the FDServer function.
Consider this. You have a program on your system that allows
people to search for data in a database of files and then
get a list of all the new files, you have named the service
request WHATSNEW.
Your system receives a file request for WHATSNEW and the
mailer runs the program SEARCH.EXE, defined as the program
to run for WHATSNEW. When SEARCH terminates, the mailer will
send the file NEWFILES.LST, created by SEARCH, to the remote
system.
- 117 -
13.2 Setting up
Service requests are defined in the ALIAS file (where you define
alias file names for file requests). The format of a service
request definition looks like this:
<NAME> ><PROGRAM> <PARAMETERS> ^<+ or - path name>
E.g.
WHATSNEW >SEARCH.EXE findit =A =T ^-C:\SERVICE\RESULT\*.TXT
13.2.1 Service name
NAME (case doesn't matter) is what the remote system should
request to invoke the service request.
13.2.2 Program
>PROGRAM is the program that should be invoked when the mailer
receives a request for NAME. The > character is required and
tells the mailer it's a service request and not an alias
definition. There should be no spaces between the > and PROGRAM.
The extension of PROGRAM is important. The mailer can execute
batch (.BAT) files as a result of a service request, but it must
do it through COMMAND.COM. So it has to know what type of file
(program) it is that you're executing.
13.2.3 Parameters
You can pass any parameters to the program. The only restriction
is (as with DOS) that they do not exceed a length of 128
characters and none of them starts with the ^ (see below)
character.
There are several macros that you can specify as parameters.
Macros should be preceded by a single equal sign (=). The mailer
will expand these macros before calling the program. You may
include macros in other parameters.
E.g -p=P Would pass -p followed by the value of the P
macro to the program.
- 118 -
13.3 Macros
Here's a list of the available macros.
=A The requesting system's network address. E.g.
1:135/20.
=B The baud rate of the connection. E.g. 9600.
=C The cost per minute for the connection. If
your system initiated the session (called the
requesting system), this is the cost per
minute. If the requesting system initiated
the session (called your system), this will
be 0.
=D OUTBOUND if your system initiated the session
(called the requesting system) or INBOUND if
the requesting system initiated the session
(called your system).
=L The requesting system's location. E.g.
Miami_FL. This value is taken from the
nodelist based on the network address. Note
that if the requesting system isn't listed in
your nodelist, this value will be "UNKNOWN".
=N The name of the requesting system. E.g.
FroDo_Headquarters.
=O The operator of the requesting system. E.g.
Bilbo_Baggins. Note that space characters are
replaced with an underscore.
=P The password that was specified for the
request (if any).
=S The service that was requested. E.g.
WHATSNEW.
=U The date and time supplied on an update
request. It's expressed in UNIX format, i.e.
the number of seconds since 1970. If the
request was a plain file request, this will
be 0.
- 119 -
Macros (cont'd)
=X Whether or not the session is password
protected. This macro can have two values,
SECURE or UNSECURE.
=Z The type of the mail session that has been
established. This macro can have three
values, WAZOO, EMSI, or OTHER.
13.4 ^ - +
The ^ character defines the beginning of a filemask that the
mailer should send after the service request has been completed.
If no ^ definition has been made, the mailer will not send any
files as the result of a service request.
The plus (+) means that the mailer should NOT remove the files
once they've been transmitted.
The minus (-) means that the mailer SHOULD remove the files once
they've been transmitted. This also means that the files will be
removed even if they couldn't be sent (carrier lost etc.)
The path name is a file specification, it may include wild-card
(? and *) characters. The mailer will send all matching files.
13.5 Security
Since service requests are built on the concept of file requests,
they are protected the same way a file requests are protected. To
setup a password, you have to use the request manager in SETUP
and define a password for the service request name.
13.6 A word of wisdom
Service requests should be used with extreme caution. It's
recommended that you have a full understanding of what a service
request actually does before you attempt to use it.
You should also keep in mind that the requesting system is
waiting at the other end for the mailer to start sending files.
So keep it short and sweet.
- 120 -
Chapter 14
Points
Point systems are very similar to BBS users. In short, a point is
a BBS user with a very advanced terminal program that will allow
him/her to perform the same functions off-line as BBS users
performs on-line, and thereby save time and in most cases money.
Point systems are usually using point smart software, such as
FrontDoor.
A point system is addressed by specifying the BOSS system's
address followed by the point number. E.g. 1:135/20.1 is point
one (me) of 1:135/20. The BOSS system is called point zero
(1:135/20.0), but the .0 is usually left out.
FrontDoor is one of the most point smart software packages around
today and fully supports the "four-dimensional" (zone, net, node,
point) addressing method. FrontDoor also supports the "two-
dimensional" point approach used by software like Binkley and
oMMM. This is often called the fake net method. Fake because the
software uses a non-existant network number to identify its
"point net" and uses the node field for the point number.
The maximum number of points any system can have is 65,535, not
counting the BOSS, or point zero.
- 121 -
14.1 Pointlist
A pointlist is very similar to a normal nodelist, with the
exception that all entries are considered point systems.
FrontDoor uses the file FDPOINT.PVT to store its pointlist. It's
possible to add points of other systems to your pointlist. This
will allow you to enter messages to other systems' points just
like you would to any other system. Here's a sample FDPOINT.PVT:
,1,JoHo's_Turf,Miami_FL,joho,-Unpublished-,9600
,2,Peter's_Bath-tub,Miami_FL,jps,-Unpublished-,2400
As you can see, a point list looks very much like a raw nodelist.
The last field contains nodelist flags (HST, MO, CM, etc.) and if
more than one flag is present, they are separated by commas.
Points can also be added to systems in the master nodelist by
using the POINT keyword.
,20,FroDo_HQ,Miami_FL,joho,1-305-596-2904,9600,HST,CM,XX
Point,1,JoHo's_Turf,Miami_FL,joho,-Unpublished-,9600
Point,2,Peter's_Bath-tub,Miami_FL,jps,-Unpublished-,2400
,990,Dorothy_'n'_Co,Miami_FL,Scott_Samet,1-123-456-7890,2400
Point,1,ScottPoint,Miami_FL,Scott_Samet,-Unpublished-,2400
Assuming this was listed under the Net-135 Host in zone one, we
have created 1:135/20, 1:135/20.1, 1:135/20.2, 1:135/990, and
1:135/990.1.
The second example shown above works well if your nodelist isn't
updated frequently (weekly, daily, etc.). But if you have to add
the "Point,#" every time you get a new nodelist, this task
becomes boring. FrontDoor therefore supports an additional
pointlist format:
Boss,1:135/20
,1,JoHo's_Turf,Miami_FL,joho,-Unpublished-,9600
,2,Peter's_Bath-tub,Miami_FL,jps,-Unpublished-,2400
Boss,1:135/990
,1,ScottPoint,Miami_FL,Scott_Samet,-Unpublished-,2400
This does away with the need to constantly update the BOSS
system's data in the raw nodelist and allows you to put your
pointlist in a separate file. The nodelist compiler (FDNC) will
then take the BOSS system's data from the master nodelist.
- 122 -
14.2 FDNODE.CTL
If you only have one file with point definitions, you can put
them in FDPOINT.PVT and use the third example on the previous
page to add points for other systems, or your own system. If you
have more than one file with point definitions, however, you
should NOT name any of them FDPOINT.PVT. Assume we had two files
with pointlists:
FDHQ.PTS:
;
; Pointlist for FidoNet.1:135/20
;
Boss,1:135/20
,1,JoHo's_Turf,Miami_FL,joho,-Unpublished-,9600
,2,Peter's_Bath-tub,Miami_FL,jps,-Unpublished-,2400
SCOTT.PTS:
;
; Pointlist for FidoNet.1:135/990
;
Boss,1:135/990
,1,ScottPoint,Miami_FL,Scott_Samet,-Unpublished-,2400
We would tell the nodelist compiler to merge these two files into
FDPOINT.PVT before it compiles the nodelist, by specifying the
following in FDNODE.CTL:
pointlist C:\FD\NODELIST\SCOTT.PTS
pointlist C:\FD\NODELIST\FDHQ.PTS
The BOSS statement in FDHQ.PTS and SCOTT.PTS can be remove if you
instead specify:
pointlist C:\FD\NODELIST\SCOTT.PTS 1:135/990
pointlist C:\FD\NODELIST\FDHQ.PTS 1:135/20
You must ALWAYS specify the address of the BOSS system (as shown
above) if it's not listed in the actual pointlist file.
- 123 -
14.3 Point handling
A point system is treated just like any other system with one
exception. A point system of another system than your own is
always treated as its BOSS (or point zero) system. When the
mailer creates mail packets for 1:135/990, it includes mail for
any points under 1:135/990 by default.
14.4 Remapping
If you have points that uses "point dumb" software, i.e. which
doesn't support the "four dimensional" (zone, net, node, point)
concept fully, you must instruct the FD package about this. Since
the FD package supports the "four dimensional" concept, it has to
remap mail from and to "point dumb" software.
14.4.1 POINTNET
If the POINTNET environment variable is set, mail from and to
systems with the same net number as the value of POINTNET is
remapped.
E.g. AUTOEXEC.BAT:
SET POINTNET=1004
Would force the mailer to remap mail from and to
1004/1, 1004/2, 1004/3, and 1004/4 to 1:135/20.1,
1:135/20.2, 1:135/20.3, and 1:135/20.4; assuming your
network address is 1:135/20.
The mailer automatically remaps messages that it extracts from
mail packets. If you use the POINTNET variable, the mailer will
treat 1004/1 identical to 1:135/20.1; assuming your network
address is 1:135/20.
14.4.2 Echomail
The "two dimensional" or fake point handling method is a very
touchy subject, and requires that the echomail processor is fully
aware of the POINTNET environment variable to properly remap mail
to and from "fake points".
TosScan, the echomail processor by Joaquim H. Homrighausen,
handles both point handling methods flawlessly. It's one of the
most advanced echomail processors / conference mail systems
around today. TosScan features complete zone/point support,
exporting on-the-fly, multiple compression formats, and much much
more.
- 124 -
Chapter 15
Batch files
The mailer will, in most cases, be run from a DOS batch (.BAT)
file. When the mailer terminates, it will return certain
errorlevels that you can trap for in your batch file.
15.1 Errorlevels
1 Internal error
2 External error - missing files, paths, etc.
3 Insufficient available disk space (less than 32KB)
4 (reserved)
5 Unable to initialize modem
6 Incorrect FOSSIL version
7 FOSSIL not loaded or detected
8 FrontDoor already loaded, issue EXIT to return
9 (reserved)
10 User break
11 - 30 (reserved)
31 - 255 User definable errorlevels
If you invoke the terminal function from DOS by running FD /T, it
will always terminate with an errorlevel of 10 (User break), the
same applies when you have specified 'Terminal only' in SETUP.
- 125 -
15.2 Categories
The various errorlevels can be organized into four basic
categories:
Mail received When mail is received, you can choose to
exit to the batch file to run external
mail processing utilities, such as
TosScan, etc.
User break/errors When you press Alt-Q from the mailer's
main menu or when errors occur.
BBS calls If you are running a BBS under the
mailer, it is necessary for the mailer
to exit with an errorlevel indicating
the baudrate of the call. The line is
still active when FrontDoor exits to the
batch file, the BBS software is loaded
and the caller will be able to access
the BBS.
External events The errorlevels defined in SETUP's event
manager.
15.3 Loading BBS software
There are two methods that can be used to invoke BBS software
when the mailer detects a non-mail (human) call. The first uses
different batch file labels for the various baudrates and the
second one uses the same label for the various baudrates. The
second method relies on the "Create .BAT file" option in SETUP
(under Mailer.Errorlevels).
- 126 -
15.3.1 Different labels
@echo off
rem --- We end up here after every BBS call
:loop
C:
CD \FD
FD
rem --- Check errorlevels returned by the mailer
if errorlevel 200 goto b9600
if errorlevel 199 goto b2400
if errorlevel 198 goto b1200
if errorlevel 197 goto b300
if errorlevel 100 goto mailIN
if errorlevel 10 goto userBRK
if errorlevel 1 goto FDerror
:mailIN
rem --- Process possible echomail, etc.
tosscan toss
tsutil link -t
goto loop
:b9600
Load BBS software for incoming call at 9600 bps
goto loop
:b2400
Load BBS software for incoming call at 2400 bps
goto loop
..
..
:userBRK
cls
@echo User break.
goto done
:FDerror
@echo Mailer returned an error (1-9)
:done
- 127 -
While this option works just fine for a environment where it
isn't critical that the BBS software knows about upcoming events
etc. it is somewhat limited.
15.3.2 Same label
@echo off
rem --- We end up here after every BBS call
:loop
C:
CD \FD
FD
rem --- Check errorlevels returned by the mailer
if errorlevel 200 goto bbsCALL
if errorlevel 199 goto bbsCALL
if errorlevel 198 goto bbsCALL
if errorlevel 197 goto bbsCALL
if errorlevel 100 goto mailIN
if errorlevel 10 goto userBRK
if errorlevel 1 goto FDerror
:mailIN
rem --- Process possible echomail, etc.
tosscan toss
tsutil link -t
goto loop
:bbsCALL
rem --- Load DOBBS.BAT, created by the mailer if
rem the "Create .BAT file" option is enabled.
dobbs
:userBRK
cls
@echo User break.
goto done
:FDerror
@echo Mailer returned an error (1-9)
:done
- 128 -
15.3.2.1 DOBBS.BAT
This is the batch file created by the mailer when you have the
"Create .BAT file" option enabled. It contains the speed at which
the call came in, the COM port, number of minutes left till the
next event and possibly a string indicating ARQ, MNP etc.
For a call coming in at 9600 bps with ARQ, 30 minutes left
till the next non-user event, on COM port 1 the DOBBS.BAT
file would contain:
exebbs 9600 1 30 /Arq
For a call coming in at 2400 bps, two hours left till the
next non-user event, on COM port 1, the DOBBS.BAT file would
contain:
exebbs 2400 1 120
- 129 -
15.3.2.2 EXEBBS.BAT
This is the file you have to create. It should handle everything
required for the BBS software you are running, including
exporting mail after users have logged off, etc. The last
statement of your EXEBBS.BAT file should be the name of the big
(main) batch file. Here's a sample of an EXEBBS.BAT file:
coolBBS -b%1%4 -p%2 -t%3
if errorlevel 200 goto newmail
if errorlevel 40 goto fatal
run
:newmail
cls
echo User entered echomail, let's send it!
tosscan scan
run
:fatal
cls
echo A fatal error has occurred in coolBBS
Since DOBBS.BAT calls EXEBBS.BAT with various information, it can
be used to pass parameters to the BBS software. The result of the
above EXEBBS.BAT file would expand to:
coolBBS -b9600/Arq -p1 -t120
If a BBS call came in at 9600, the COM port is one, the number of
minutes till the next non-user event is 120 and the optional (%4)
string contained /Arq.
- 130 -
The text RUN, refers to the original (main) batch file, in which
we bring the mailer back up again. When the BBS software (coolBBS
in the above examples) terminates, EXEBBS.BAT will trap two
errorlevels and then invoke RUN(.BAT) again.
15.3.2.3 Flow (batch files)
Complicated? Here's the actual file flow between RUN, DOBBS and
EXEBBS:
+-> RUN.BAT Loads the mailer and performs all
: : echomail and error handling. When a
: : non-mail (human) call is detected,
^ V it loads DOBBS.BAT, created by the
: : mailer.
: :
: DOBBS.BAT Created by the mailer. It calls the
: : EXEBBS.BAT file with the baudrate,
: : port, remaining time till the next
^ V non-user event, and possibly the
: : /Arq parameter.
: :
: EXEBBS.BAT Called by DOBBS.BAT with the above
: : described parameters. Loads the BBS
: : software, processes newly created
^ V mail (if any), and finally returns
: : to RUN.BAT.
+--<--+
- 131 -
- 132 -
Appendix A
Help systems
The following systems and persons can be contacted if you have
problems or questions regarding FrontDoor. You will most likely
find the latest noncommercial version on these systems as well.
Chris Homrighausen Europe (main)/Sweden
9600 HST 2:2/106
Lars Eriksson Finland
9600 HST V32 2:2/109
Ulrich Bartelt West Germany
9600 HST 2:241/2
Peter Janssens The Netherlands
9600 HST V32 2:28/2
Luc Schoofs Belgium
9600 HST 2:29/100
Patrick Oetiker Switzerland
9600 HST 2:30/5
Orlando Castillo Spain
9600 HST V32 2:34/2
Felix Kasza Austria
9600 HST V32 2:310/11
Luca Leone Italy
2400 2:33/108
- 133 -
Help systems (cont'd)
Stig Jacobsen Denmark
2400 2:231/16
David Nugent Australia (West)
9600 PEP 3:3/101
Andrew Khoo Australia (East)
9600 V32 PEP 3:711/805
Pablo Kleinman South America
9600 PEP V32 4:4/104
Bruce Bodger USA (main)
9600 HST 1:1/101
Mark Howard USA
9600 HST 1:260/340
Bryan Bucci Canada
9600 HST 1:153/133
Some of these systems are also listed in other network's
nodelists. Such as SIGNet, AlterNet and the Network.
- 134 -
Appendix B
FOSSIL drivers
A FOSSIL (or Fido/Opus/SEAdog Standard Interface Layer) driver is
a memory resident program that works as a layer between the
application program and your computer's hardware. The mailer
requires a FOSSIL driver to function. The advantages of the
standard FOSSIL interface is that programs can be ported easily
to other machines and/or operating systems.
There are several FOSSIL drivers available. The mailer has been
tested with OpusComm, X00 and BNU with good results. X00 and BNU
will be described here.
B.1 BNU
BNU, written by David Nugent, comes in two flavors. One is a
device driver, similar to X00.SYS. The second flavor is a .COM
file, loaded from AUTOEXEC.BAT or another batch file. I use the
.COM flavor. For a detailed description of the BNU driver, read
the documentation included in the BNU distribution archive.
[AUTOEXEC.BAT]
BNU /R=1024 /T=512 /L1:38400
/R=1024 Specifies a transmit buffer of 1024 bytes.
/T=512 Specifies a receive buffer of 512 bytes.
/L1:38400 Locks COM2 at 38,400 bps (for use with the
14400 HST or DS modems).
If you are not using a high-speed modem the above example
should most likely be modified to not lock COM2.
- 135 -
B.2 X00.SYS
X00, written by Ray Gwinn, is a device driver, it's loaded from
your CONFIG.SYS file when your machine is started. For a detailed
description of the X00 driver, read the documentation included in
the X00 distribution archive.
[CONFIG.SYS]
device = X00.SYS E 1 B,1,38400 T=512 R=1024
E Disable 5 second "commercial" when X00 is
first loaded.
1 Number of COM ports X00 should allow to be
accessed at one time.
B,1,38400 Locks COM2 at 38,400 bps (for use with the
14400 HST or DS modems).
T=512 Specifies a transmit buffer of 512 bytes.
R=1024 Specifies a receive buffer of 1024 bytes.
If you are not using a high-speed modem the above example
may not be what you want. The most common command line for
X00 is:
device = X00.SYS E 1
- 136 -
Appendix C
Modems
FrontDoor works with several modems, including USR HST, Telebit's
Trailblazer, ANC, Everex and Hayes. The general rule is that the
modem must be able to send alphanumeric result strings. For most
modems, the basic configuration is all that is required. For
high-speed modems such as the HST, a few extra settings are
necessary. The reason HST is the only modem described here is
because it's the only modem I've used with FrontDoor.
C.1 General requirements
The modem must not echo characters sent by FrontDoor, it must not
have CD (carrier detect) forced. It should support disconnecting
by lowering DTR (data terminal ready), but it's not necessary.
DTR must not be forced.
The current version of FrontDoor does not support manually
operated modems with fixed speeds since most of them do not send
any type of messages to the terminal (program). This is expected
to be implemented in future versions.
To use FrontDoor with high-speed modems such as the HST and
Trailblazer, it is often necessary to lock your COM port (using
fixed speed). In general, this improves throughput. For more
information about this, see FOSSIL drivers.
- 137 -
C.2 USR HST
DIP Switches:
0 (big) OFF
1 OFF
2 OFF
3 ON
4 OFF
5 ON
6 OFF
7 OFF
8 ON
9 ON
0 OFF
Command/modem strings:
CONNECT 300 CONNECT|
RING RING|
OffHook ATH1|
OnHook ~ATH0|
Init-1 AT&G1&K0&M4S19=2B&B1&H1&R2&N0S15=8|
Init-2 ATV1X6S7=55EQM0S11=50S0=0|
Down AT|
Reset AT|
Modem hardware:
Lock port YES
Baudrate 38400, 19200 or 9600
Answer control:
Manual answer Yes
Force answer ATA|
Delay 5
- 138 -
Appendix D
Multitasking
FrontDoor can be used together with most multitasking programs.
It has been tested with DESQview, DoubleDOS, Multilink and
Taskview. It will automatically detect most multitasking
software. My personal suggestion would be DESQview. One of the
best multitaskers around for PC/MS-DOS.
D.1 NS16550
If you're running FrontDoor under a multitasker or in a LAN
environment, I suggest you replace your 8250 or 16450 UART chip
with a NS16550AN or NS16550AFN. These are available from several
electronics outfits for somewhere between USD 17 and USD 23.
The 16550 family of UARTs have internal buffering and will
improve performance in multitasking and LAN environments. Both
BNU and X00 has direct support for the 16550 family and can be
used without modifying your command-line paratmeters when loading
them.
- 139 -
D.2 DESQview
FrontDoor will request a virtual screen buffer from DV and write
to it. The result is very fast and very well behaved screen
writes. I have successfully used FrontDoor's mailer under
DESQview 2.21 (and 2.25) with 180KB. Here're the settings I use
with DESQview:
Keys to Use on Open Menu FD
Memory Size (in K) 250
Options:
Writes text directly to screen N
Displays graphics information N
Virtualize text/graphics (Y,N,T) N
Uses serial ports (Y,N,1,2) 2
Requires floppy diskette N
Advanced Options:
System Memory (in K) 0
Maximum Program Memory Size (in K) <empty>
Script Buffer Size 0
Maximum Expanded Memory Size (in K) 0
Text Pages 1
Graphics Pages 0
Initial Mode <empty>
Interrupts 00 to FF
Maximum Height 25
Starting Height 25
Starting Row 1
Maximum Width 80
Starting Width 80
Starting Column 1
Close on exit (Y,N,blank) N
Uses its own colors Y
Allow Close Window command Y
Runs in background (Y,N,blank) Y
Uses math coprocessor N
Keyboard conflict (0-4) 0
Share CPU when foreground Y
Share EGA when foreground/zoomed Y
Can be swapped out (Y,N,blank) N
Protection level (0-3) 0
- 140 -
D.3 DoubleDOS
Smart multitasking software allocates a virtual screen buffer for
each task. Applications can then ask the multitasking software
where it should write and the multitasker handles the screen
updates. DoubleDOS, however, is using a different method.
Every time you switch tasks from the keyboard, the screen-buffers
change. So there's no easy way for the software running under
DoubleDOS to detect this. In DoubleDOS 5.00, there are two
options that allows you to run FrontDoor under DoubleDOS just
fine. You MUST run FrontDoor in the TOP section for the two
methods below to work.
- 141 -
DISPLAY=TEXT If your system has a MCGA, CGA, EGA or VGA
card installed, there's extra memory
available on those cards for graphics, etc.
DoubleDOS can use some of that memory for
each of its screen buffers. To enable this,
add DISPLAY=TEXT to your DDCONFIG.SYS file.
REFRESH If you have a text-only adapter (MDA) there's
most likely no extra memory available on the
card. Add REFRESH by itself on a line to your
DDCONFIG.SYS file. This will tell DoubleDOS
to repaint the screen if the other task is
bleeding through.
X00 and DoubleDOS When using FrontDoor, X00.SYS and DoubleDOS,
there are a few rules that must be followed:
Do not assign the COM ports in DDCONFIG.SYS
Make sure you execute CAPTURE (supplied with
X00) after you execute DOUBLEDO (the
DoubleDOS executable). To be safe, execute
CAPTURE in both partitions.
If you have problems with your clock, try the
DEFER option in X00.
Make sure you replace ANSI.SYS with
DBLDANSI.SYS.
The BOTTOM partition should initialize before
the TOP partition. In other words, if you're
loading FrontDoor in the BOTTOM partition,
try to delay the initialization of the TOP
partition.
D.4 Multilink
I would personally not recommend anyone using FrontDoor with
Multilink. I have never successfully executed any program under
Multilink for longer periods of time than momentarily.
- 142 -
Appendix E
Converting from other mail systems
If you were using SEAdog or D'Bridge before you started using
FrontDoor, you should have little trouble converting to
FrontDoor. The routing and message handling used by these two
mail systems is very similar to the way things are done with
FrontDoor.
If you are converting from Binkley, Opus, or Dutchie, however,
there are a few things you should know and make sure you have
done before you install FrontDoor.
The main difference between FrontDoor and Binkley or Opus is that
FrontDoor doesn't use oMMM, the static message packer written by
Bob Hartman. We see the oMMM approach as a black hole from which
there's no return. This is not true in some cases and there are
advantages of using oMMM type packers instead of the method used
by FrontDoor.
oMMM will create what we call static bundles, where each system
has a control file that tells the mailer what files and messages
to send to what systems. FrontDoor will NOT recognize oMMM type
bundles (packets) so before you fully convert to FrontDoor, you
must make sure that all the oMMM type mail is sent before you
convert to FrontDoor.
You can use FrontDoor to send the remaining oMMM type mail by
attaching the files manually with FrontDoor's editor or a robot
utility such as XRobot, but you'll need a utility with which you
can determine which file belongs to which system before you can
do this. So it might be easier for you to tell Binkley or Opus to
send its remaining mail before you do the conversion.
- 143 -
- 144 -
Appendix F
Sample (PCP) script
This script was written by Eric Larson, FidoNet.1:260/330 and is
intended as a sample PC Pursuit script.
; PCP script for FrontDoor 1.99b and above
; Eric Larson, 1:260/330.0, 8/30/89
; modified from script supplied in FD 1.99 documentation
debug ON
setport 2400 ; Redundant if you have locked your FOSSIL
; If you have a 1200 indial :-(, use 1200
; here and change the hunt-confirm sequence
; to @ wait 1 <CR>
;----------------------------------
; Your Indial Phone Number Here
;----------------------------------
;
; Users with MNP modems should disable MNP as the buffering
; combined with PCP's packet latency will cause block position
; errors during error recovery. For HST owners, use:
;
send AT&M0<CR>
waitfor OK
;
; Others should comment out the above two lines
;
; Now, your local indial modem
;
send ATDT4795395<CR>
case
CONNECT : >whackit
RING<CR> : fail
BUSY<CR> : fail
"NO " : fail
@default : fail
endcase
- 145 -
:whackit ; Attempt to "wake-up" PCP
purgein ; Telenet recommends at least
wait 2 ; a 200 ms pause between
send @ ; characters in the hunt-confirm sequence
wait 1 ; change the @ to <CR> if you
send D ; call a 1200 bps indial modem
wait 1
send <CR>
waitfor TERMINAL=
send D3<CR> ; Preferred terminal type
waitfor @
:outdial ; Dial PCP city
purgein
retrycount 5
send C @OUTBOUND,xxxxxxxxxx<CR> ; Your ID Here
waitfor PASSWORD
send xxxxxx<CR> ; Your Password Here
case
CONNECT : >local ; Gotcha!
BUSY : >outdial
"NOT " : fail
@nocarrier : fail
@default : fail
endcase
:local ; Initialize Outdial
purgein
send <CR>
wait 1
send I<CR>
send ATZ|
timerset 15
waitfor OK
send @|
waitfor @
- 146 -
send SET?<sp>1:0,7:8<CR>
waitfor @
send CONT<CR>
send ATH0Z<CR>
waitfor OK|IDLE
send <ENQ><CR> ; Turn on RV Mode
waitfor *
purgein
clearcount
timerset 35
wait 1
send D@LOCALNUM<CR>
purgein
case
ONTROL : >landing
ANSWER : >landing
BUSY : fail
FAILED : fail
"NO DIAL TONE" : fail
"NO DTR" : fail
"NO CARRIER" : fail
VOICE : fail
@default : fail
@nocarrier : fail
endcase
:landing ; Landing on Pluto
wait 7
purgein
session
- 147 -
- 148 -
Appendix G
Commercial inquiries
The FD package is free of charge if it's used in a noncommercial
environment. If it's used in a commercial environment, you may
NOT use the noncommercial version - period. Please send
commercial inquiries to:
Australia Workware Australia Pty, Ltd
attn: Kim Nugent
Suite 3.03, 620 St. Kilda Road
Victoria, Australia, 3004
Europe Computer-Laser Systems
attn: Felix Kasza
Technical Services Group
Hetzendorfer Strasse 191
A-1130 Vienna
Austria
Bremin & Co. AB
Pontonjargatan 1
S-112 22 Stockholm
Sweden
USA OCI - Online Communications, Inc.
22 State Street
Bangor Maine 04401
USA
Canada 1B Systems Management, Ltd.
5761 Ascot Road
Nanaimo BC V9V 1E6
Canada
- 149 -
G.1 Pricing
FrontDoor and TosScan for commercial use:
Suggested retail price: USD 189
FrontDoor and TosScan for commercial use (SysOps):
Suggested retail price: USD 120
FrontDoor for commercial use (SysOps):
Suggested retail price: USD 99
TosScan
If you have purchased a copy of FrontDoor, you may purchase
TosScan at the price of USD 30. If you are running the
noncommercial version of FrontDoor, the price for TosScan is
USD 45.
G.2 Shipping and handling
Make sure you include sufficient funds for shipping and handling
(around USD 6-10). If sales tax apply to your order, you must
include funds to cover it.
G.3 Dealers
Please contact the appropriate dealer (previous page) for
commercial inquiries and any questions you may have regarding the
purchase of FrontDoor and/or TosScan.
- 150 -
Appendix H
Developer notes
A separate package with information regarding FrontDoor is
distributed under the name FDDEV. It contains structures and
technical information directed towards authors of FrontDoor
utilities.
If you are planning on writing a utility with explicit support
for FrontDoor, make sure you grab a copy of the FDDEV package and
look at it.
- 151 -
- 152 -
Appendix I
Credits
Thanks to..
..Anders Johansson, Andrew Khoo, Bill Bolton, Bill Dunn,
Bjorn Bogfelt, Bob Rudolph, Boris Osadciw, Chris Homrighausen
(hey bro!), Chris Van Tuin, Chris Baker, Clement Studer, David
Kerley, Dieter Soltau, Eelco de Graaff, Felix Kasza, Fred
Vlinkervleugel, 1B Systems Management Ltd, Ken McVay, Gareth
McClean, Horst Buhl, James Henthorn, James Smith, Jan
Crommenacker, Jan Jonsson, Jeff Wolach, Jerry Hindle, Jim
Faucette, Joakim Hernberg, John Huls, Jon Schneider, Ken Doebler,
Kim Lykkegard, Lasse B, Malte Erikson, Mario Diaz, Mark Howard,
Mats Knuts, Mats Wallin, Peter Adenauer, Randy Harner, Rick
Petersen, Rick Siegel, Robin Valle', Ruud de Bruin, Scott Samet,
Thomas Stjernstrom, Thomas Sundblom, Todd Lehr, Tomas Bremin,
Bremin & Co AB, Tony Wagner, Ulf Hedlund, Ulf Jungjohann, Andreas
Polz, David Nugent, Workware Australia Pty Ltd, Steve Froeschke,
Eric Larson, Bob Beilstein, Bruce Bodger, Michele Hamilton, Phil
Mackay, Michael Butler, Paul Schlyter, Bill Kraski, Alexander
Holy, Lars Eriksson, Fabiano Fabris, Aaron Schmiedel, Mike Janke,
Peter Janssens, Jeff Murphy, Gary Funk, Luca Leone, Andrew
Milner.
..Tom Jennings, Bob Hartman, Chris Irwin, Chuck Forsberg,
Henk Wevers, Randy Bush, Ray Gwinn, Thom Henderson, Vince
Perriello, Wynn Wagner III, Mike Ratledge, Rick Moore, George A.
Stanislav, jim nutt.
- 153 -
Contents
Chapter 1 Preface 3
1.1 Hardware requirements . . . . . . . . . . . . 3
1.2 Software requirements . . . . . . . . . . . . 3
1.3 BBS software . . . . . . . . . . . . . . . . 4
1.4 History . . . . . . . . . . . . . . . . . . . 4
Chapter 2 Installation 7
2.1 CONFIG.SYS . . . . . . . . . . . . . . . . . 7
2.2 AUTOEXEC.BAT . . . . . . . . . . . . . . . . 8
2.3 Directories . . . . . . . . . . . . . . . . . 8
2.4 Files . . . . . . . . . . . . . . . . . . . . 8
Chapter 3 Setup 9
3.1 FD environment variable . . . . . . . . . . . 9
3.2 Getting started . . . . . . . . . . . . . . . 9
3.3 Menus . . . . . . . . . . . . . . . . . . . 10
3.3.1 File . . . . . . . . . . . . . . . . . 10
3.3.2 Global . . . . . . . . . . . . . . . . 10
3.3.3 Mailer . . . . . . . . . . . . . . . . 14
3.3.4 Editor . . . . . . . . . . . . . . . . 25
3.3.5 Terminal . . . . . . . . . . . . . . . 27
3.3.6 Modem . . . . . . . . . . . . . . . . 30
3.3.7 Printer . . . . . . . . . . . . . . . 34
3.4 Manager . . . . . . . . . . . . . . . . . . 34
3.4.1 Events . . . . . . . . . . . . . . . . 34
3.4.1.1 External event behavior . . . . . 36
3.4.1.2 Mail event behavior . . . . . . . 37
3.4.1.3 The @ event . . . . . . . . . . . 40
3.4.1.4 Overlapping events . . . . . . . 40
3.4.2 Folders . . . . . . . . . . . . . . . 41
3.4.3 Security . . . . . . . . . . . . . . . 43
3.4.4 Requests . . . . . . . . . . . . . . . 44
Chapter 4 Mailer 45
4.1 Menus . . . . . . . . . . . . . . . . . . . 45
4.1.1 Alt-P Programs . . . . . . . . . . . 45
4.1.2 Alt-U Utilities . . . . . . . . . . . 46
4.1.3 Alt-M Mail . . . . . . . . . . . . . 47
4.1.4 Alt-Y Your profile . . . . . . . . . 48
4.2 Alt-B Mail queue . . . . . . . . . . . . . 48
4.3 Call progress . . . . . . . . . . . . . . . 50
4.4 Waiting mail indicator . . . . . . . . . . 50
i
4.5 Undialable . . . . . . . . . . . . . . . . 50
4.6 Command line switches . . . . . . . . . . . 51
Chapter 5 Editor 53
5.1 Menus . . . . . . . . . . . . . . . . . . . 53
5.1.1 Alt-M Main . . . . . . . . . . . . . 53
5.1.2 Alt-E Edit . . . . . . . . . . . . . 56
5.1.3 Alt-T in edit mode . . . . . . . . . . 57
5.1.4 Toggle menu . . . . . . . . . . . . . 58
5.1.5 Other keys in edit mode . . . . . . . 58
5.1.6 Other keys in view (read) mode . . . . 60
5.1.7 Alt-U Utilities . . . . . . . . . . . 61
5.1.8 Alt-P Purge . . . . . . . . . . . . . 62
5.2 Entering messages . . . . . . . . . . . . . 62
5.2.1 Message status bits . . . . . . . . . 63
5.3 Alt-F9 Management . . . . . . . . . . . . 66
5.3.1 Main menu . . . . . . . . . . . . . . 66
5.3.2 Continuoues tagging . . . . . . . . . 67
5.3.3 Range select . . . . . . . . . . . . . 67
5.4 Keyboard macros . . . . . . . . . . . . . . 68
5.5 Carbon copies (CC) . . . . . . . . . . . . 68
5.5.1 Hidden CCs . . . . . . . . . . . . . . 69
5.5.2 Using files as input to CCs . . . . . 69
5.5.3 Address expansion . . . . . . . . . . 69
5.6 Cross-posting (XC) . . . . . . . . . . . . 70
5.7 Command line switches . . . . . . . . . . . 70
Chapter 6 Terminal 71
6.1 Menus . . . . . . . . . . . . . . . . . . . 71
6.1.1 Alt-F File . . . . . . . . . . . . . 71
6.1.2 Alt-L Line settings . . . . . . . . . 73
6.1.3 Alt-S Session . . . . . . . . . . . . 75
6.1.4 Alt-O Options . . . . . . . . . . . . 76
6.2 Keyboard macros . . . . . . . . . . . . . . 76
6.3 Raw mode . . . . . . . . . . . . . . . . . 77
6.4 Keypad modes . . . . . . . . . . . . . . . 77
6.4.1 PC keyboards . . . . . . . . . . . . . 77
6.5 Alt-P Phone directory . . . . . . . . . . 78
6.5.1 Queue status . . . . . . . . . . . . . 79
6.5.2 Adding/changing entries . . . . . . . 79
6.6 Inactivity timer . . . . . . . . . . . . . 79
6.7 File transfers . . . . . . . . . . . . . . 79
6.8 On-line timer . . . . . . . . . . . . . . . 79
Chapter 7 Miscellaneous 81
7.1 Destination of messages . . . . . . . . . . 81
7.1.1 Name lookups . . . . . . . . . . . . . 81
7.1.2 Address browsing . . . . . . . . . . . 82
7.1.3 Address macros . . . . . . . . . . . . 82
7.2 File requests . . . . . . . . . . . . . . . 82
7.2.1 Update requests . . . . . . . . . . . 83
7.3 Swapping . . . . . . . . . . . . . . . . . 83
ii
7.4 CRT environments . . . . . . . . . . . . . 83
Chapter 8 Mail routing 85
8.1 Default routing . . . . . . . . . . . . . . 86
8.1.1 Message status . . . . . . . . . . . . 86
8.1.2 Host/hub routing . . . . . . . . . . . 87
8.1.3 Qualifying systems . . . . . . . . . . 87
8.2 Route commands . . . . . . . . . . . . . . 88
8.2.1 LIST specifications . . . . . . . . . 91
8.2.2 Using nodelist flags . . . . . . . . . 91
8.2.3 File routing/forwarding . . . . . . . 91
8.2.4 Message forwarding . . . . . . . . . . 92
8.2.5 Multiple zones . . . . . . . . . . . . 92
8.2.6 Examples . . . . . . . . . . . . . . . 92
8.2.7 Dynamic packing . . . . . . . . . . . 93
8.2.8 Regarding points . . . . . . . . . . . 93
Chapter 9 EMSI 95
9.1 Passwords . . . . . . . . . . . . . . . . . 95
9.2 Mail . . . . . . . . . . . . . . . . . . . 96
Chapter 10 Script language 97
10.1 What can I do with it? . . . . . . . . . . 98
10.2 Commands . . . . . . . . . . . . . . . . . 98
10.2.1 Labels . . . . . . . . . . . . . . . 103
10.2.2 Node block . . . . . . . . . . . . . 103
10.3 PC Pursuit . . . . . . . . . . . . . . . . 104
10.3.1 How do I update PCP.DAT? . . . . . . 104
10.4 MNEMONICS . . . . . . . . . . . . . . . . 105
Chapter 11 Nodelist 107
11.1 FDNODE.CTL . . . . . . . . . . . . . . . . 107
11.2 Compiling the nodelist . . . . . . . . . . 111
Chapter 12 FDServer 113
12.1 What is a FDServer request? . . . . . . . 113
12.2 Request message . . . . . . . . . . . . . 114
12.2.1 Internal commands . . . . . . . . . . 114
12.3 Using it . . . . . . . . . . . . . . . . . 114
12.4 Keeping calls to a minimum . . . . . . . . 115
12.5 A word of caution . . . . . . . . . . . . 115
Chapter 13 Service requests 117
13.1 Service requests vs FDServer . . . . . . . 117
13.2 Setting up . . . . . . . . . . . . . . . . 118
13.2.1 Service name . . . . . . . . . . . . 118
13.2.2 Program . . . . . . . . . . . . . . . 118
13.2.3 Parameters . . . . . . . . . . . . . 118
13.3 Macros . . . . . . . . . . . . . . . . . . 119
13.4 ^ - + . . . . . . . . . . . . . . . . . . 120
13.5 Security . . . . . . . . . . . . . . . . . 120
13.6 A word of wisdom . . . . . . . . . . . . . 120
iii
Chapter 14 Points 121
14.1 Pointlist . . . . . . . . . . . . . . . . 122
14.2 FDNODE.CTL . . . . . . . . . . . . . . . . 123
14.3 Point handling . . . . . . . . . . . . . . 124
14.4 Remapping . . . . . . . . . . . . . . . . 124
14.4.1 POINTNET . . . . . . . . . . . . . . 124
14.4.2 Echomail . . . . . . . . . . . . . . 124
Chapter 15 Batch files 125
15.1 Errorlevels . . . . . . . . . . . . . . . 125
15.2 Categories . . . . . . . . . . . . . . . . 126
15.3 Loading BBS software . . . . . . . . . . . 126
15.3.1 Different labels . . . . . . . . . . 127
15.3.2 Same label . . . . . . . . . . . . . 128
15.3.2.1 DOBBS.BAT . . . . . . . . . . . 129
15.3.2.2 EXEBBS.BAT . . . . . . . . . . . 130
15.3.2.3 Flow (batch files) . . . . . . . 131
Appendix A Help systems 133
Appendix B FOSSIL drivers 135
B.1 BNU . . . . . . . . . . . . . . . . . . . . 135
B.2 X00.SYS . . . . . . . . . . . . . . . . . . 136
Appendix C Modems 137
C.1 General requirements . . . . . . . . . . . 137
C.2 USR HST . . . . . . . . . . . . . . . . . . 138
Appendix D Multitasking 139
D.1 NS16550 . . . . . . . . . . . . . . . . . . 139
D.2 DESQview . . . . . . . . . . . . . . . . . 140
D.3 DoubleDOS . . . . . . . . . . . . . . . . . 141
D.4 Multilink . . . . . . . . . . . . . . . . . 142
Appendix E Converting from other mail systems 143
Appendix F Sample (PCP) script 145
Appendix G Commercial inquiries 149
G.1 Pricing . . . . . . . . . . . . . . . . . . 150
G.2 Shipping and handling . . . . . . . . . . . 150
G.3 Dealers . . . . . . . . . . . . . . . . . . 150
Appendix H Developer notes 151
Appendix I Credits 153
iv